61.2.2 安装为Systemd服务

systemd是System V init系统的继任者,很多现代Linux分发版本都在使用。尽管你可以继续使用init.d脚本,但使用systemd ‘service’脚本启动Spring Boot应用是有可能的。

假设你在/var/myapp目录下安装一个Spring Boot应用,为了将它安装为一个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

提示 记得根据你的应用改变DescriptionUserExecStart字段。

提示 注意ExecStart字段没有声明脚本行动命令,也就是说会使用默认的run命令。

注意跟作为init.d服务运行不同,使用systemd这种方式运行应用,PID文件和控制台日志文件是由系统自己进行管理的,因此必须在‘service’脚本配置正确的字段,具体参考service unit configuration man page

使用以下命令标识应用自动在系统boot上启动:

$ systemctl enable myapp.service

具体详情可参考man systemctl

最后更新于