Linux---项目部署(三)
1、手工部署
操作步骤:
1.1.在IDEA中开发SpringBoot项目并打成jar包
1.2.将jar包上传到Linux服务器
mkdir /usr/local/app 创建目录,将项目jar包放到此目录
1.3.启动项目
java -jar [jar包名字]
1.4.检查防火墙,确保8080端口对外开放,访问SpringBoot项目
firewall-cmd --zone=public --list-ports
1.5.改为后台运行SpringBoot程序,并将日志输出到日志文件
目前程序运行的问题
线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
nohup命令:英文全称no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
语法格式:nohup Command [Arg ... ][&]
参数说明:
Command:要执行的命令
Arg:一些参数,可以指定输出文件
&:让命令在后台运行
举例:
nohup java -jar [jar包名字] &> hello.log & 后台运行java -jar命令,并将日志输出到hello.log文件
1.6.停止SpringBoot程序
ps -ef l grep "java -jar' 查找需要杀掉的进程id
kill -9 进程id 注释:(加上-9为强制删除)
2、通过Shell脚本自动部署项目
操作步骤:
1、在Linux中安装Git
1.1.在Linux中安装Git
yum list git 列出git安装包
yum install git 在线安装git
2、在Linux中安装maven
2.1.使用Git克隆代码
cd /usr/local/
git clone [git地址]
2.2.在Linux中安装maven
tar -zxvf apache-maven-3.5.4-bin.tar.gz-c /usr/local
vim letc/profile 修改配置文件,加入如下内容
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile
mvn -version
vim /usr/local/apache-maven-3.5.4/conf/settings.xml 修改配置文件内容如下
3、编写Shell脚本(拉取代码、编译、打包、启动 都写在了sh文件当中)
Shell脚本文件复制到Linux bootStart.sh
Shell脚本( shell script),是一种Linux系统中的脚本程序。
使用Shell脚本编程跟JavaScript、 Java编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
4、为用户授予执行Shell脚本的权限
chmod(英文全拼: change mode)命令是控制用户对文件的权限的命令
Linux中的权限分为:读(r)、写(w)、执行(x)三种权限
Linux的文件调用权限分为三级︰文件所有者(Owner)、用户组(Group)、其它用户(othe r Users)
只有文件的所有者和超级用户可以修改文件或目录的权限
要执行Shell脚本需要有对此脚本文件的执行权限,如果没有则不能执行
4.1.为用户授权
chmod命令可以使用八进制数来指定权限
举例:
chmod 777 bootStart.sh为所有用户授予读、写、执行权限
chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootstart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限
注意:三位数字分别代表不同用户的权限
第1位表示文件拥有者的权限
第2位表示同组用户的权限
第3位表示其他用户的权限
5、执行Shell脚本
./[sh文件]或者sh.[sh文件]
本文来自博客园,作者:uuuu-zhang,转载请注明原文链接:https://www.cnblogs.com/uuuuZhang/p/18006312
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)