springboot项目jar后台运行(Linux环境)

Linux环境运行springboot项目(jar格式项目)

运行项目jar包,执行如下命令,不进行进程守护,进程会随Xshell窗口关闭而关闭

java -jar gosh-service-1.0-gosh.jar --server.port=8080 >info.log 2>error.log

运行项目jar包,同时进程守护,可执行如下命令(核心:nohup  xxx  &

nohup java -jar gosh-service-1.0-gosh.jar --server.port=8080 >info.log 2>error.log &

由于springboot项目维护,每次重新打包,在Linux服务器上面发布,都要配置java的运行参数,还要输入命令,很麻烦,所以我创建了一个名字为mystart.shshell脚本,脚本内容如下

#!/bin/bash
#配置java运行参数
JAVA_OPTS="-Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -XX:+PrintGCDetails -Xloggc:/var/log/gc.log -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.bin -Duser.timezone=Asia/Shanghai"
#配置运行jar包,同时进程守护
nohup java $JAVA_OPTS -jar gosh-service-1.0-gosh.jar --server.port=8080 >info.log 2>error.log &
#配置运行jar包,进程随Xshell窗口关闭而关闭,不进行进程守护
#java $JAVA_OPTS -jar gosh-service-1.0-gosh.jar --server.port=8080 >info.log 2>error.log

目录结构如下:

项目启动命令如下:

[root@localhost gosh]# ./mystart.sh 
[root@localhost gosh]# ps -ef | grep java
root      10623      1 65 12:47 pts/2    00:00:08 java -Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -XX:+PrintGCDetails -Xloggc:/var/log/gc.log -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.bin -Duser.timezone=Asia/Shanghai -jar gosh-service-1
.0-gosh.jar --server.port=8080
root      10674 127994  0 12:47 pts/2    00:00:00 grep --color=auto java

注意:如果使用Notepad++编辑脚本的时候,一定要设置Notepad++文档格式,否则保存的shell脚本,可能会在Linux上运行报错

比如报这个错误:

[root@localhost gosh]# ./mystart.sh 
./mystart.sh: line 4: $'\r': command not found

解决办法如下:

点击Notepad++左上角的【编辑】---- 【文档格式转换】---- 【转换为 UNIX 格式】,使用此格式编辑保存的shell脚本,不会报错

项目更新发布,运行如下命令:

[root@localhost gosh]# ps -ef | grep java
root       9533      1 99 12:25 pts/2    00:00:03 java -Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -XX:+PrintGCDetails -Xloggc:/var/log/gc.log -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.bin -Duser.timezone=Asia/Shanghai -jar gosh-service-1
.0-gosh.jar --server.port=8080
root       9555 127994  0 12:25 pts/2    00:00:00 grep --color=auto java
[root@localhost gosh]# kill -9 9533
[root@localhost gosh]# ps -ef | grep java
root      10616 127994  0 12:47 pts/2    00:00:00 grep --color=auto java
[root@localhost gosh]# ./mystart.sh 
[root@localhost gosh]# ps -ef | grep java
root      10623      1 65 12:47 pts/2    00:00:08 java -Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -XX:+PrintGCDetails -Xloggc:/var/log/gc.log -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.bin -Duser.timezone=Asia/Shanghai -jar gosh-service-1
.0-gosh.jar --server.port=8080
root      10674 127994  0 12:47 pts/2    00:00:00 grep --color=auto java
[root@localhost gosh]# 

猜你喜欢

转载自blog.csdn.net/qq_42714869/article/details/88550501