ubuntu24 springboot jar设置宕机重启

在Ubuntu 24上为Spring Boot JAR包设置宕机重启策略,使用systemd是推荐的方法。以下是如何配置的详细步骤:

使用systemd设置自动重启

创建systemd服务文件

首先,你需要创建一个systemd服务文件来管理你的Spring Boot应用。你可以使用文本编辑器如nano或vim来创建和编辑这个文件。例如,如果你的应用名为myapp.jar,你可以创建一个名为myapp.service的服务文件。

bash 复制代码
sudo vi /etc/systemd/system/myapp.service

编辑服务文件

在文件中添加如下内容,确保路径和用户名根据实际情况修改:

bash 复制代码
[Unit]
Description=My Spring Boot Application
After=network.target

[Service]
User=root
ExecStart=java -jar /home/app/parkservice/api/park-service-admin.jar --spring.profiles.active=zhsit
SuccessExitStatus=143
# Restart=on-failure
# RestartSec=10s
# ExecStart如果已有当前配置则注释
# Environment=SPRING_PROFILES_ACTIVE=prod
# 如果需要输出日志到特定文件,可以取消下面这行的注释并修改路径
# StandardOutput=file:/var/log/myapp/output.log
# StandardError=file:/var/log/myapp/error.log

[Install]
WantedBy=multi-user.target
  • 解释:

User=your_user:指定运行此服务的用户(当前系统用户)。
ExecStart:启动命令,指向你打包好的Spring Boot应用JAR文件。
Restart=on-failure:当服务失败时自动重启。也可以设置为always,即无论什么原因退出都重启。
RestartSec=10s:设定重启前等待的时间。
Environment:可以设置环境变量,比如激活不同的配置文件。

重载systemd并启用服务

创建完服务文件后,需要让systemd重新加载配置,并启用该服务以便于开机自启。

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable myapp.service

启动服务

现在你可以尝试启动服务了。

bash 复制代码
sudo systemctl start myapp.service

检查服务状态

使用下面的命令来检查服务的状态,确认它是否正在运行以及是否有任何错误信息。

bash 复制代码
sudo systemctl status myapp.service

查看日志(如果配置了)

如果你在服务文件中配置了日志输出,可以通过查看日志文件来获取更多信息。

bash 复制代码
cat /var/log/myapp/output.log
cat /var/log/myapp/error.log

实时查看

bash 复制代码
tail -f /var/log/myapp/output.log
tail -f /var/log/myapp/error.log

停止服务

如果需要停止服务,可以使用:

bash 复制代码
sudo systemctl stop myapp.service

通过以上步骤,你应该能够在Ubuntu 24系统上成功配置一个Spring Boot应用程序的自动重启策略。这种方式不仅可以在程序崩溃时自动重启,还可以确保在系统重启后自动启动服务。

相关推荐
瓶中怪7 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
iangyu7 小时前
linux配置时间同步
linux·运维·服务器
Tian_Hang9 小时前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
江畔柳前堤9 小时前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
爱喝水的鱼丶9 小时前
SAP-ABAP:接口 vs 抽象类:ABAP OOP两类扩展方式的差异与选型原则
运维·性能优化·sap·abap·erp·经验交流
iCxhust9 小时前
linux目录是否保存在硬盘 启动后读入解析的
linux·运维·服务器
敖行客 Allthinker10 小时前
企业级多台服务器组装 K3s 高性能集群实战指南
运维·服务器·团队开发
TTBIGDATA11 小时前
【Ambari Plus】10.HBase 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop
艾伦_耶格宇12 小时前
【ELK】-2 ELK的搭建
运维·elk
xcLeigh12 小时前
KES运维自动化与脚本体系实战
运维·数据库·自动化·脚本·数据迁移·kes