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.sh的shell脚本,脚本内容如下
#!/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]#