Linux 设置 jar 包开机自启动

概述
初步学习Springboot编写服务,尝试部署到Linux环境下,并进行开机自启动。
Linux系统:Centos7.6
Java包:xxx.jar

流程
将 xxx.jar 包(及外部配置文件)放入Linuxu系统中,假设放到/home/test/路径下;
修改文件权限:chmod 777 xxx.jar , 赋予jar包可执行权限;
编写启动脚本,假设命名为:xxx.sh:

export JAVA_HOME=/opt/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
cd /home/test/
nohup java -jar xxx.jar >> /home/test/xxx.log 2>&1 &


1.
2.
3.
4.
手动测试:sh xxx.sh ,然后 ps ax | grep java ,查看是否能正常启动;
若上述步骤正常,说明jar包和脚本都正确;接下来增加开机启动项:
vim /etc/rc.local
在文件最后添加一行:sh /home/test/xxx.sh
重启机器;机器启动后, ps ax | grep java 查看程序是否随开机启动;
若程序启动,查看 /home/test/xxx.log 文件,日志是否正常;
至此,Linux 环境下设置 jar 包开机自启动流程结束。

备注
脚本文件需先export java环境,因为其他含Java环境变量的配置文件可能加载滞后,影响程序启动;
若有外部配置文件,需在脚本文件中先 cd 到程序所在目录,以便正常加载外部配置文件(也可以使用命令行参数指定外部配置文件,我没试);
shell 重定向: > 代表清空原文件,重新写入; >> 代表追加到重定向文件;
2>&1:将标准错误stderr重定向到标准输出stdout;
nohup xxx &:后台启动程序。
-----------------------------------
©著作权归作者所有:来自51CTO博客作者006玩命的原创作品,请联系作者获取转载授权,否则将追究法律责任
Linux 设置 jar 包开机自启动
https://blog.51cto.com/weiyuqingcheng/3728176

环境: 阿里云 centos 7.6

** 启动脚本 1.facepay-service.sh **

#!/bin/sh
export JAVA_HOME=/usr/local/software/jdk1.8.0_181  #对应的 jdk 位置  可以使用 which java 查看具体位置
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar /root/facepay/facepay-0.0.1.jar &
echo $! > /root/facepay/facepay.pid   #将上一次启动的pid 写入到指定文件
1
2
3
4
5
停止脚本 2.facepay-service-stop.sh

#!/bin/sh
PID=$(cat ~/facepay/facepay.pid)
kill -9 $PID
1
2
3
编写注册服务 facepay.service 放到目录 /usr/lib/systemd/system

[Unit]
Description=facepay
After=network.target   
[Service]
Type=forking
ExecStart=/root/facepay/facepay-service.sh #启动服务脚本的绝对路径
ExecStop=/root/facepay/facepay-service-stop.sh #停止服务脚本的绝对路径.
PrivateTmp=true
[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
相关操作

systemctl start facepay  #启动 facepay 服务
systemctl stop facepay  #停止 facepay 服务
systemctl status facepay #查看 facepay 服务当前的运行状态

systemctl enable facepay #开机启动 facepay 服务
systemctl disable facepay #取消开机启动 facepay 服务
systemctl list-unit-files; #查看当前服务(是否开机启动等)状态
————————————————
版权声明:本文为CSDN博主「fengyupeng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fengyupeng/article/details/102778842

上一篇:springboot打成jar包后如何修改配置文件


下一篇:Maven 最全教程,看了必懂,99% 的人都收藏了!