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应用程序的自动重启策略。这种方式不仅可以在程序崩溃时自动重启,还可以确保在系统重启后自动启动服务。

相关推荐
朱包林39 分钟前
day45-nginx复杂跳转与https
linux·运维·服务器·网络·云计算
孙克旭_41 分钟前
day045-nginx跳转功能补充与https
linux·运维·nginx·https
Hacker_Oldv3 小时前
软件测试(功能、工具、接口、性能、自动化、测开)详解
运维·自动化
Java樱木3 小时前
使用字节Trae + MCP,UI 到网页自动化。
运维·自动化
无敌暴龙兽z5 小时前
离线环境安装elk及设置密码认证
运维·elk
好奇的菜鸟6 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
bcbobo21cn6 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile
wayuncn7 小时前
月付物理服务器租用平台-青蛙云
运维·服务器·服务器租用·服务器托管·物理机租用
望获linux7 小时前
【实时Linux实战系列】CPU 隔离与屏蔽技术
java·linux·运维·服务器·操作系统·开源软件·嵌入式软件
0wioiw07 小时前
C#基础(项目结构和编译运行)
linux·运维·服务器