ubuntu24 springboot jar设置宕机重启

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

使用 systemd 设置自动重启

  1. 创建 systemd 服务文件

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

    bash 复制代码
    sudo nano /etc/systemd/system/myapp.service
  2. 编辑服务文件

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

    ini 复制代码
    [Unit]
    Description=My Spring Boot Application
    After=syslog.target
    
    [Service]
    User=your_user
    ExecStart=/usr/bin/java -jar /path/to/your/myapp.jar
    SuccessExitStatus=143
    Restart=on-failure
    RestartSec=10s
    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:可以设置环境变量,比如激活不同的配置文件。
  3. 重载 systemd 并启用服务

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

    bash 复制代码
    sudo systemctl daemon-reload
    sudo systemctl enable myapp.service
  4. 启动服务

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

    bash 复制代码
    sudo systemctl start myapp.service
  5. 检查服务状态

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

    bash 复制代码
    sudo systemctl status myapp.service
  6. 查看日志(如果配置了)

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

    bash 复制代码
    cat /var/log/myapp/output.log
    cat /var/log/myapp/error.log
  7. 停止服务

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

    bash 复制代码
    sudo systemctl stop myapp.service

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

相关推荐
小码哥_常2 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
学长毕设5 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
zzu123zsw6 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
源码集结号7 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
努力的小雨7 小时前
给 AI 眼镜开发应用有多难?我从零做了一个陪练,还上架了
后端
excel8 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端
AI入职记9 小时前
AI 代码审查召回率实测:20 个骗过单元测试的变异体,抓到 13 个
后端
浮链序9 小时前
别让 AI 客服把用户当猴耍:百来行 Python 把「转人工」做成一条高可用链路
后端
属于自己的天空9 小时前
Claude Code 插件完全指南:官方市场怎么用,怎么自己写(v2.1.269+)
后端
Tokenfree9 小时前
给大模型调用加一个熔断器:60 行代码,三个阈值
后端