Appearance
Spring Boot:将应用作为服务进行安装
在 /etc/systemd/system 文件夹下创建 myapp.service 文件:
INI
[Unit]
Description=myapp
After=syslog.target network.target
[Service]
User=myapp
Group=myapp
WorkingDirectory=/opt/myapp
ExecStart=/path/to/java/home/bin/java -jar /opt/myapp/myapp.jar --spring.profiles.active=your_profile
ExecStop=/bin/kill -15 $MAINPID
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Note 配置说明
ExecStop=/bin/kill -15 $MAINPID: 信号-15对应于SIGTERM,这是一个终止信号,通常用于请求进程正常终止。
SuccessExitStatus=143: 默认情况下,systemd 认为退出状态码为0的进程是成功的,而非零退出状态码通常被视为失败。退出状态码143通常表示进程是由于接收到SIGTERM信号而终止的。在 Unix 系统中,退出状态码143可以解释为128 + 15,其中128是一个基数,表示进程是由于接收到信号而终止的,15是SIGTERM信号的编号。
重新加载 systemd 配置:
Bash
$ systemctl daemon-reload现在可以使用 systemd 命令启动、停止、重启和检查服务状态:
Bash
$ systemctl start myapp.serviceBash
$ systemctl stop myapp.serviceBash
$ systemctl restart myapp.serviceBash
$ systemctl status myapp.service