项目部署Linux一般步骤

news2025/1/12 8:53:47

1、最小化安装centos7-环境准备

安装epel-release

安装epel-release,因为有些rpm包在官方库中找不到。前提是保证可以联网

yum install -y epel-release

修改IP

net-tools

  • net-tool:工具包集合,包含ifconfig等命令
yum install -y net-tools

vim

yum install -y vim

拖拽上传文件

yum -y install lrzsz

使用方法:

输入命令rz选择文件上传或直接拖拽文件。目前好像只能安装xshell使用。

jdk

卸载虚拟机自带的JDK

注意:如果你的虚拟机是最小化安装不需要执行这一步。

[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

  • rpm -qa:查询所安装的所有rpm软件包
  • grep -i:忽略大小写
  • xargs -n1:表示每次只传递一个参数
  • rpm -e –nodeps:强制卸载软件

安装

想办法将JDK安装包导入到虚拟机的/opt/software文件夹下面

解压JDK安装包到/opt/module目录下

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

改名

mv jdk1.8.0_212/ jdk

配置JDK环境变量

(1)新建/etc/profile.d/my_env.sh文件

sudo vim /etc/profile.d/my_env.sh

添加如下内容,然后保存(:wq)退出

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk

export PATH=$PATH:$JAVA_HOME/bin

(2)让环境变量生效

source /etc/profile.d/my_env.sh

6)测试JDK是否安装成功

 java -version

如果能看到以下结果、则Java正常安装

java version "1.8.0_212"

防火墙

关闭防火墙,关闭防火墙开机自启

systemctl stop firewalld
systemctl disable firewalld.service

注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙

2、项目环境安装

安装Docker

为了后续更方便的安装软件,先安装一个docker,可以一键拉取镜像,启动一个容器。

centos安装docker详细步骤-CSDN博客

安装kingbase

配置内核参数
为了避免在 KingbaseES 安装和使用过程中出现问题,您需要检查和设置内核参数。
编辑 /etc/sysctl.conf 文件,备份是/etc/sysctl.conf.bak
资源使用参数
Linux 资源限制配置文件是 /etc/security/limits.conf 。限制用户可使用的资源数量对系统的稳定性非常重要。您 可以通过调整资源限制数量改进系统性能。limits.conf 文件如下所示
备份: /etc/security/limits.conf.bak
如果想启动或停止数据库服务,进入 ${ 安装目录 }/Server/bin 目录执行如下命令:
# 启动服务
sys_ctl -w start -D ${Data 文件目录} -l "${Data 文件目录}/sys_log/startup.log"
# 停止服务
sys_ctl stop -m fast -w -D ${Data 文件目录}

安装nginx

yum install -y wget
wget http://nginx.org/download/nginx-1.16.1.tar.gz
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
[root@localhost nginx-1.21.0]# ./configure --prefix=/usr/local/nginx
#执行make命令
[root@localhost nginx-1.21.0]# make
#执行make install命令
[root@localhost nginx-1.21.0]# make install

常用命令

cd /usr/local/nginx/sbin      首先进入 sbin 目录
./nginx              启动 Nginx
./nginx -s stop      停止 Nginx
./nginx -s reload    重新加载 Nginx
./nginx -v           查看 Nginx 版本

设置开机自启动

第一步:进入到/lib/systemd/system/目录

1

[root@iz2z init.d]# cd /lib/systemd/system

第二步:创建nginx.service文件,并编辑

1

# vim nginx.service

内如如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

[Unit]

Description=nginx service

After=network.target 

    

[Service] 

Type=forking 

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true 

    

[Install] 

WantedBy=multi-user.target

  • Description:描述服务

  • After:描述服务类别

  • [Service]服务运行参数的设置

  • Type=forking是后台运行的形式

  • ExecStart为服务的具体运行命令

  • ExecReload为重启命令

  • ExecStop为停止命令

  • PrivateTmp=True表示给服务分配独立的临时空间

  • 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

  • [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

保存退出。

第三步:加入开机自启动

1

# systemctl enable nginx

如果不想开机自启动了,可以使用下面的命令取消开机自启动

1

# systemctl disable nginx

第四步:服务的启动/停止/刷新配置文件/查看状态

1

2

3

4

5

6

7

# systemctl start nginx.service          启动nginx服务

# systemctl stop nginx.service           停止服务

# systemctl restart nginx.service        重新启动服务

# systemctl list-units --type=service     查看所有已启动的服务

# systemctl status nginx.service          查看服务当前状态

# systemctl enable nginx.service          设置开机自启动

# systemctl disable nginx.service         停止开机自启动

一个常见的错误

Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.

直接按照提示执行命令systemctl daemon-reload 即可。

安装Redis

docker pull redis

docker run -itd --name redis-test -p 6379:6379 redis

设置开机自启动

systemctl enable docker

创建容器时,设置自动启动容器,  添加--restart=always

docker run --restart=always


如果创建时未指定 --restart=always ,可通过update 命令设置

docker update --restart=always 容器id(或者容器名称)


 

上传项目部署

1、注册为Linux服务

  • 打包上传         xxx.jar

  • 首先需要现修改pom中spring-boot-maven-plugin配置,其实spring boot 打成jar包以后,是可以直接像shell脚本一样直接运行的,要实现这样可以直接运行,pom.xml 的build节点需要增加这样的配置:
<!--这样配置后,通过maven打出来的jar 可以直接 执行  ./aabb.jar  就能运行起来。 -->
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 在Linux上注册服务(此处基于init.d注册部署)

将打好的jar包放到Linux任意目录 eg: /var/project/

sudo ln -s /var/project/demo.jar /etc/init.d/abc
(其中demo为jar包名称,abc为服务名称)

之后就可以用 service XXX start 命令来启动jar包

启动/关闭 服务
service abc start/stop
查看状态
service abc status
设置开机自启
chkconfig abc on

报错

1、项目启动报错:

nested exception is com.kingbase8.util.KSQLException: ������������: ������ "client_encoding" ������������: "ANSI_X3.4-1968"

字符集和数据库的不一致:

url: jdbc:kingbase8://192.168.31.90:54321/qjjk?clientEncoding=UTF-8

2、Unable to find Java

在这里插入图片描述
原因:jar包同文件夹缺少同名配置文件,文件名相同,扩展名为.conf
解决:新增.conf文件,内容如下:

JAVA_HOME=/usr/java/jdk1.8.0_301

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1127961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【技能树笔记】网络篇——练习题解析(九)

目录 前言 一、OSPF双栈 1.1 OSPFv3 LSA 1.2 OSPFv3 二、ISIS双栈 2.1 ISISv6 2.2 ISIS高级特性 三、BGP双栈 四、PIM双栈 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filot…

SpringDoc API文档工具集成SpringBoot - Swagger3

1、引言 之前在Spring Boot项目中一直使用的是SpringFox提供的Swagger库&#xff0c;发现已经超过3年没出新版本了&#xff01;SpringDoc是一款可以结合Spring Boot使用的API文档生成工具&#xff0c;基于OpenAPI 3&#xff0c;是一款更好用的Swagger库&#xff01;值得一提的是…

Playwright 配置文件/运行命令/测试标记

Playwright 配置文件/运行命令/测试标记 一、运行说明 1. 运行命令 // 运行测试集&#xff0c;无界面模式 npx playwright test// 运行测试集&#xff0c;界面模式 npx playwright test --ui// 运行单个测试文件 npx playwright test test_file.spec.ts// 以调试模式运行测试…

选购采购管理软件,首先考虑这5个功能

虽然采购已经达到了数字化的临界点&#xff0c;但企业在接受新的解决方案时却犹豫不决。德勤一份全球首席采购官调查显示&#xff0c;只有 18% 的组织制定了数字化采购战略。 自动化采购任务和优化采购到付款周期可以为企业节省大量金钱和时间。然而&#xff0c;通过过时的采购…

Maven依赖scope为system级别部署时Jar包缺少解决

问题 在开发springboot项目时&#xff0c;maven引入本地第三方jar包&#xff0c;在idea中运行正常。打成jar部署后报找不到类 错误如下&#xff1a; ERROR SpringApplication.reportFailure(834) | Application run failed org.springframework.beans.factory.UnsatisfiedDep…

【tio-websocket】8、服务配置与维护—TioConfig

场景 我们在写 TCP Server 时,都会先选好一个端口以监听客户端连接,再创建N组线程池来执行相关的任务,譬如发送消息、解码数据包、处理数据包等任务,还要维护客户端连接的各种数据,为了和业务互动,还要把这些客户端连接和各种业务数据绑定起来,譬如把某个客户端绑定到一…

仪表盘自定义标题和数值样式

仪表盘自定义标题和数值样式 fn() var myEcharts; function fn(v) {var chartDom document.getElementById(myEcharts);myEcharts&& myEcharts.dispose();myEcharts echarts.init(chartDom, walden);var option;option {series: [{type: gauge,radius: 85%,center: […

activiti7 报错Couldn‘t resolve collection expression nor variable reference

解决方法 nacos添加配置 spring&#xff1a;activiti: serializePOJOsInVariablesToJson: false 截图如下&#xff1a; 分析过程 Couldnt resolve collection expression nor variable reference报错分析是“无法解析集合表达式或变量引用” 刚开始我一直测试…

激光雷达数据为例滤波器

可以通过传感器获取障碍物的位置、速度; 但是任何测量结果都是有误差的。 因此需要在传感器测量结果的基础上, 进行跟踪,以此来保证障碍物的位置、速度等信息不会发生突变。 所谓的跟踪就是通过运动模型来递推障碍物的位置、速度等信息。 最经典的跟踪算法是卡尔曼滤波器。…

用户社交信息交互卡片

效果展示 CSS 知识点 CSS 基础知识回顾transition-delay 属性的运用 整体页面布局实现 <div class"card"><div class"user"><div class"img_box"><img src"bg.jpg" /></div><div class"cont…

积分球检测水质的原理是什么?

积分球可以用于检测水质&#xff0c;主要通过测量水体中物质的吸收光谱来实现。具体来说&#xff0c;光路经过积分球内腔&#xff0c;当水样经过球体时&#xff0c;水体中的物质会吸收一定波长的光&#xff0c;从而改变球体的透射光强。通过测量球体透射光强的改变&#xff0c;…

UE 交互草实现 不通过RT与距离场的方式

通过计算世界场景位置与玩家位置的距离&#xff0c;如果距离大于等于DistanceEffect则不做操作&#xff0c;若小于DistanceEffect则DistanceEffect减去两者之间距离除以并除以DistanceEffect&#xff0c;为什么有这个操作呢&#xff1f; 因为我们要做在DistanceEffect距离内&a…

水质分析仪器升级新功能

水质分析仪器&#xff1a;是一种适用于水质多参数测试的便携式仪器。它具有7英寸的触摸彩色屏幕&#xff0c;用户可以通过触摸屏幕进行操作和查看测试结果。 该仪器主要用于测定COD&#xff0c;氨氮&#xff0c;总磷&#xff0c;总氮等常规水质指标&#xff0c;pH值、溶解氧、…

CTFhub-SSRF-端口扫描

根据提示&#xff1a; 来来来性感CTFHub在线扫端口,据说端口范围是8000-9000哦, 用数字生成器生成 8000-9000 的数字 在线生成1到10000阿拉伯数字 - 批量之家 通过 burp 抓包爆破 爆破需要在 url 后添加 127.0.0.1&#xff1a; 根据爆破结果&#xff0c;端口是 8335

【EI会议征稿】第五届大数据与信息化教育国际学术会议(ICBDIE 2024)

【有往届检索记录】第五届大数据与信息化教育国际学术会议&#xff08;ICBDIE 2024&#xff09; 2023 5th International Conference on Big Data and Informatization Education 第五届大数据与信息化教育国际学术会议&#xff08;ICBDIE 2024&#xff09;定于2024年01月19-…

记录npm的版本问题

安装vivo小游戏开发者工具时&#xff0c;运行mg -v时出现错误&#xff0c;错误的原因是node.js的的版本过低&#xff0c;我用的是6.11.2&#xff0c;将node.js升级到10.10.0问题解决

别处拿来的VUE项目 npm run serve报错

问题现象&#xff1a; 从别处拷贝来的VUE项目&#xff0c;根据说明通过npm install 加载了项目依赖 &#xff0c;但是运行npm run serve里报错&#xff1a; npm ERR! Missing script: "serve" npm ERR! npm ERR! To see a list of scripts, run: npm ERR! npm ru…

Mr.Alright---MTK安卓13 抬手亮屏功能的逻辑

该功能在系统设置-显示-拿起设备时唤醒 alps\vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\display\LiftToWakePreferenceController.javapublic boolean isAvailable() {SensorManager sensors (SensorManager) mContext.getSystemServ…

应用系统集成-企业集成模式(EIP)

应用系统集成-企业集成模式&#xff08;EIP&#xff09; 无论是系统间集成或是系统内部组件之间通讯&#xff0c;消息&#xff08;信息流&#xff09;都是系统设计最重要的因素。EIP将详细的讲述了从消息的角度进行集成设计考虑方方面面&#xff0c;是系统设计重要的参考资料。…

springBoot与Vue共同搭建webSocket环境

欢迎使用Markdown编辑器 你好&#xff01; 这片文章将教会你从后端springCloud到前端VueEleementAdmin如何搭建Websocket 前端 1. 创建websocket的配置文件在utils文件夹下websocket.js // 暴露自定义websocket对象 export const socket {// 后台请求路径url: ,websocketCo…