56.1.2 安装为Systemd服务

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

假设你在/var/myapp目录下安装一个Spring Boot应用,为了将它安装为一个systemd服务,你需要按照以下示例创建一个脚本,比如命名为myapp.service,然后将它放到/etc/systemd/system目录下:

  1. [Unit]
  2. Description=myapp
  3. After=syslog.target
  4. [Service]
  5. User=myapp
  6. ExecStart=/var/myapp/myapp.jar
  7. SuccessExitStatus=143
  8. [Install]
  9. WantedBy=multi-user.target

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

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

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

  1. $ systemctl enable myapp.service

具体详情可参考man systemctl