您的位置:首页 > 编程语言 > Java开发

Ubuntu 上通过 Systemd 配置 Spring Boot jar 包自启动

2018-03-05 18:31 543 查看

缘起

几个新的项目使用 Spring Boot,在服务器上的部署方式每次打 jar 包都带个自增长的版本号,如
app-1.0.0.4.jar
,目录为
/opt/www/app/jars/


也就是在打新 jar 包的同时保留旧版。

然后使用 Systemd 来管理 jar 包的启动。

步骤

/opt/bin/lib/
(或者任意目录) 下创建
app.service

[Unit]
Description=My App
After=syslog.target

[Service]
ExecStart=/opt/bin/lib/app.sh
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

进一步丰富此配置,可增加
Group
User
等配置 jar 包的执行用户组。

创建
app.sh

#!/bin/bash
java -jar `ls -l /opt/www/app/jars/*.jar | awk '{print $9}' | tail -n 1`

别忘了使此脚本可执行:
chmod +x app.sh


此命令用于获得最新版本 jar 包,并通过
java -jar
方式执行。

当然,如果生成的是
可执行 jar 包
,则前置的
java -jar
可省略。

整合到 Systemd

systemctl enable /opt/bin/lib/app.service


systemctl start app.service


其它可用命令:
status
stop
等,具体可参见
Systemd
文档

Over!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu systemd Spring Boot
相关文章推荐