linux下SpringBoot Jar包自启脚本配置

今天整理服务器上SpringBoot项目发现是自启的,于是想看看实现。翻看离职同事的交接文档发现一个***.service文件内容如下

[Unit]  
Description=sgfront
After=network.target

[Service]
Type=forking
User=root
PrivateTmp=true
Restart=always
WorkingDirectory=/opt/data/StudyGame
Environment=JAVA_HOME=/opt/data/jdk1.8.0_162
Environment=PATH=/usr/local/node/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/data/jdk1.8.0_162/bin

ExecStart=/bin/sh -c "nohup java -jar /opt/data/StudyGame/sgfront.jar &"
ExecStop=/bin/kill -15 $MAINPID

[Install]
WantedBy=multi-user.target


该文件放在/usr/lib/systemd/system目录下 后查询资料发现对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件
具体可看http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

首先
编辑命令 systemctl enable ****(自启脚本文件名)

即在/etc/systemd/system目录添加一个符号链接(一开始我用find -name查找文件时发现这个文件夹下面的文件全都是0k还在纳闷。。。。傻乎乎),指向/usr/lib/systemd/system里面的****.service文件

这样
Systemd通过指向就会根据脚本内容帮你启动,但是设置开机启动以后,软件并不会立即启动,必须等到下一次开机。如果想立即生效,那么要执行systemctl start ****(文件名) 命令。

然后通过systemctl status 看下启动项 如果启动项太多通过shift加方向键翻页

如果配置成功查看进程就会发现已经启动,每次就不需要自动重启,进程关闭后自动重启



posted @ 2018-08-15 20:33  宝磊  阅读(509)  评论(0编辑  收藏  举报