ubuntu24 springboot jar设置宕机重启

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

使用 systemd 设置自动重启

  1. 创建 systemd 服务文件

    首先,你需要创建一个systemd服务文件来管理你的Spring Boot应用。你可以使用文本编辑器如nanovim来创建和编辑这个文件。例如,如果你的应用名为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应用程序的自动重启策略。这种方式不仅可以在程序崩溃时自动重启,还可以确保在系统重启后自动启动服务。

相关推荐
海南java第二人3 分钟前
Cursor 高级实战:从 Spring Boot 到微服务,AI 驱动的全流程开发指南
人工智能·spring boot·微服务
爱笑的源码基地13 分钟前
门诊his系统源码,中西医结合的数字化门诊解决方案
java·spring boot·源码·二次开发·门诊系统·云诊所系统·诊所软件源码
SimonKing26 分钟前
全网爆火的OpenClaw保姆级教程Linux版,它来了。
java·后端·程序员
青柠代码录41 分钟前
【Linux】常用命令:sort
后端
小江的记录本1 小时前
【MyBatis-Plus】MyBatis-Plus的核心特性、条件构造器、分页插件、乐观锁插件
java·前端·spring boot·后端·sql·tomcat·mybatis
驕傲的兎孒1 小时前
基于 SpringBoot + Vue3 + AI 打造企业级售后服务支持平台 | 实战方案分享
人工智能·spring boot·后端
vx-程序开发1 小时前
springboot在线装修管理系统-计算机毕业设计源码56278
java·c语言·spring boot·python·spring·django·php
大傻^1 小时前
Spring AI Alibaba 可观测性实践:AI应用监控与链路追踪
java·人工智能·后端·spring·springaialibaba
诗人不写诗2 小时前
spring是如何组织切面的
java·后端·spring
无名-CODING2 小时前
从零开始!Vue3+SpringBoot前后端分离项目Docker部署实战(上):环境搭建与数据库容器化
数据库·spring boot·docker