平时部署SpringBoot到服务器上,大概就是一个JAR包和一个自动化脚本xxx.sh,要启动就执行脚本,例如本人常用的:./server.sh start
,要是需要开机自启动,只需注册一个service就行。
- 创建一个服务文件,文件名就是服务名,如:
myserver
要放在/etc/systemd/system
目录下
cd /etc/systemd/system
touch myserver.service
- 编写
myserver.service
的内容
[Unit]
Description=My SpringBoot Service
After=network.target
[Service]
Type=forking
ExecStart=/www/wwwroot/server-java/server.sh start
ExecReload=/www/wwwroot/server-java/server.sh restart
ExecStop=/www/wwwroot/server-java/server.sh stop
User=root
Group=root
Restart=0
[Install]
WantedBy=multi-user.target
非常重要的点: 如果ExecStart是指向
xxx.sh
这种模式,须将Type
指定为forking
,不然会出现:脚本跑完,进程也跟着退出了。
- 测试启动:
systemctl start myserver
- 设为开机自启动:
systemctl enable myserver
至此,搞掂!