Linux/Unix下Spring Boot项目随系统自动启动(init.d或者systemd)

将Spring Boot项目部署到Linux/Unix后,由于某种原因服务器会不定期关机,每次打开服务器都需要手动启动项目,很麻烦,查看官方文档,发现有相应的解决办法,特此记录。

按照官方文档的话来说:

Spring Boot application can be easily started as Unix/Linux services by using either init.d or systemd
意思大概是Spring Boot的项目可以使用init.d或者systemd很简单的作为Unix/Linux的服务来启动

方法1 init.d

如果Spring Boot项目在/var/myapp下,那么可以执行以下命令:

sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp

以后就可以用以下命令来启动应用了:

service myapp start
(如果启动失败,日志文件在/var/log/<appname>.log

方法2 systemd

新建一个脚本名为myapp.service,放到目录/etc/systemd/system/下,脚本内容为:

[Unit]
Description=myapp
After=syslog.target

[Service]
User=myapp
ExecStart=/var/myapp/myapp.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

使项目可以自启,再执行以下命令即可:

systemctl enable myapp.service

参考:https://docs.spring.io/spring-boot/docs/2.0.0.M7/reference/htmlsingle/#deployment-service

猜你喜欢

转载自blog.csdn.net/u013190088/article/details/78904920
今日推荐