# 设置Jar自启动服务
注:本方式适合打包为jar的应用服务
# 第一步:创建启动服务脚本
在应用项目主目录(假设目录为:/data/xm/server目录) 创建启动服务的脚本start.sh 在/data/xm/server目录目录下得项目jar文件名称为project.jar
vi /data/xm/server/start.sh
1
点击查看start.sh内容
#!/bin/bash
nohup java -server -Xms512m -Xmx8192m -jar /data/xm/server/project.jar &
exit 0
1
2
3
2
3
# 第二步:创建停止服务脚本
在应用项目主目录(假设目录为:/data/xm/server目录) 创建停止服务的脚本stop.sh
vi /data/xm/server/stop.sh
1
点击查看stop.sh内容
#!/bin/bash
jar='project.jar'
pid=`ps -ef|grep $jar|grep -v grep|awk '{print $2}'`
if (kill -0 $pid 2>/dev/null)
then
echo $echo_n "Shutting down java project!!!"
kill $pid
fi
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 第三步:赋予权限
分别赋予start.sh 和 stop.sh 执行权限
chmod +x /data/xm/server/start.sh
chmod +x /data/xm/server/stop.sh
1
2
2
# 第四步:创建service脚本
假设启动服务的名称为:project
vi /lib/systemd/system/project.service
# 设置权限
chmod 754 /lib/systemd/system/project.service
1
2
3
2
3
点击查看project.service内容
[Unit]
Description=jar
After=network.target
[Service]
Type = forking
ExecStart = /data/xm/server/start.sh
ExecStop = /data/xm/server/stop.sh
[Install]
WantedBy = multi-user.target
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 第五步:启动或停止服务
# 启动服务
systemctl start project.service
# 关闭服务
systemctl stop project.service
1
2
3
4
2
3
4
如果发现启动错误,修改启动脚本后需重新加载
systemctl daemon-reload
1
# 第六步:设置为自启动服务
systemctl enable project.service
1