# 设置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

# 第二步:创建停止服务脚本

在应用项目主目录(假设目录为:/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

# 第三步:赋予权限

分别赋予start.sh 和 stop.sh 执行权限

chmod +x /data/xm/server/start.sh
chmod +x /data/xm/server/stop.sh
1
2

# 第四步:创建service脚本

假设启动服务的名称为:project

vi /lib/systemd/system/project.service
# 设置权限
chmod 754 /lib/systemd/system/project.service
1
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

# 第五步:启动或停止服务

# 启动服务 
systemctl start project.service
# 关闭服务   
systemctl stop project.service  
1
2
3
4

如果发现启动错误,修改启动脚本后需重新加载

systemctl daemon-reload
1

# 第六步:设置为自启动服务

systemctl enable project.service
1