Linux下部署Spring Boot jar包

Spring Boot项目可以使用Maven命令mvn:clean package将项目打包成只执行的jar文件,但使用命令java -jar XX.jar来执行无法将shell命令行释放,关闭terminal后进程也随之关闭了。这里介绍在Linux系统中后台运行Spring Boot jar文件的方法。

实现这个功能主要依赖于Linux的nohup命令。
nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。

原始方法

1
java -jar demo.jar

当前SSH窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。

进阶方法,加&代表在后台运行

1
java -jar demo.jar &

当前ssh窗口不被锁定,但是当窗口关闭,或SSH断开时,程序中止运行。

使用nohup后台运行

1
nohup java -jar demo.jar &

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

使用nohup后台运行,并指定输出文件

1
nohup java -jar demo.jar & >log.txt &

是将command的输出重定向到log.txt文件,即输出内容不打印到屏幕上,而是输出到log.txt文件中。

查找运行的进程

1
ps aux | grep demo