『Linux』手动部署项目
开发SpringBoot项目并打成jar包
- 项目是一个很简单的springboot项目,结构如下:
- 可以在本地的idea中先启动当前的demo工程,然后访问一下,查看工程是否正常访问。
- 执行package指令,进行打包操作,将当前的springboot项目,打成一个jar包。
将jar包上传到Linux服务器
- 通过
rz
指令,将打好的jar包上传至Linux服务器。
1 | A. 在/usr/local下创建目录app |
- 此时这个jar包就上传到 /usr/local/app 目录了。
启动SpringBoot程序
- 项目已经打成jar包上传到Linux服务器,启动项目:
1 | java -jar helloworld-1.0-SNAPSHOT.jar |
注意: Tomcat在启动时,会占用端口号8080,而当前springboot项目没有配置端口号,默认也是8080,所以要想启动springboot项目,需要把运行的Tomcat停掉。
检查防火墙
1 | firewall-cmd --zone=public --list-ports |
- 如果防火墙没有放开8080端口,还需要放开对应的端口号,执行如下指令:
1 | firewall-cmd --zone=public --add-port=8080/tcp --permanent |
访问测试
http://192.168.138.130:8080/hello
后台运行项目
- 当前这个demo工程已经部署成功,并且也可以访问项目了。
但是这个工程目前是存在问题的,就是项目启动的窗口被霸屏占用了,
如果把这个窗口关闭掉(或ctrl+c),当前服务也就访问不到了。
目前程序运行的问题:
线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行。
线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息。
后台运行程序
- 要想让部署的项目进行后台运行,需要使用到linux中的一个命令
nohup
。
nohup命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
语法格式: nohup Command [ Arg … ] [&]
参数说明:
Command:要执行的命令
Arg:一些参数,可以指定输出文件
&:让命令在后台运行
举例:
nohup java -jar boot工程.jar &> hello.log &
上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件
- 可以使用下面的指令,让当前部署的项目后台运行:
1 | nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log & |
- 项目已经启动成功了,可以通过
ps
指令,查看到系统的进程。
- 访问项目,查看服务是否可用。
停止SpringBoot项目
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KissSheep's Blog!
评论