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

本文介绍了一种使用SpringBoot进行应用部署的方法,通过在服务器上为每个新版本的jar包添加自增长版本号并利用Systemd进行管理,确保了服务的平滑升级与回滚。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缘起

几个新的项目使用 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

进一步丰富此配置,可增加 GroupUser 等配置 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
  • 其它可用命令:statusstop 等,具体可参见 Systemd 文档

Over!

转载于:https://my.oschina.net/someok/blog/1629997

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值