JAVA SpringBoot jar 程序 Systemctl 生产环境部署

在Linux系统中使用systemctl来管理和自动启动一个Spring Boot应用程序,需要将Spring Boot应用程序打包成一个可执行的JAR文件,并创建一个systemd服务单元文件。

以下是一个简单的步骤指南和示例服务文件:

  1. 确保Spring Boot应用程序已经打包成了一个可执行的JAR文件。
  2. 创建一个新的服务单元文件 /etc/systemd/system/yourapp.service,内容如下:
bash 复制代码
[Unit]
Description=Your Spring Boot Application
After=syslog.target
 
[Service]
User=ubuntu
ExecStart=/usr/bin/java -jar /path/to/your-application.jar
SuccessExitStatus=143
 
[Install]
WantedBy=multi-user.target

确保修改User为运行应用程序的用户,ExecStart为JAR文件的完整路径。

  1. 重新加载systemd管理器配置,使新的服务单元生效:
bash 复制代码
sudo systemctl daemon-reload
  1. 启动应用程序服务:
bash 复制代码
sudo systemctl start yourapp.service
  1. 设置应用程序服务开机自启:
bash 复制代码
sudo systemctl enable yourapp.service

确保Spring Boot应用程序有适当的日志配置,以便systemd能够正确地记录输出和错误信息。如果应用程序需要额外的配置,可以通过环境变量或者命令行参数来传递。

相关推荐
蝎子莱莱爱打怪7 小时前
我的2025年年终总结
java·后端·面试
沛沛老爹7 小时前
Web开发者5分钟上手:Agent Skills环境搭建与基础使用实战
java·人工智能·llm·llama·rag·agent skills
奋进的芋圆7 小时前
TokenRetryHelper 详解与 Spring Boot 迁移方案
java·spring boot·后端
毕设源码-赖学姐7 小时前
【开题答辩全过程】以 音像租借管理系统为例,包含答辩的问题和答案
java
小宇的天下7 小时前
Calibre 3Dstack --每日一个命令day7【Centers】(3-7)
java·服务器·数据库
用户0304805912638 小时前
Spring Boot 配置文件加载大揭秘:优先级覆盖与互补合并机制详解
java·后端
青莲8438 小时前
Java内存回收机制(GC)完整详解
java·前端·面试
CRUD酱8 小时前
微服务分模块后怎么跨模块访问资源
java·分布式·微服务·中间件·java-ee
Knight_AL8 小时前
MinIO 入门实战:Docker 安装 + Spring Boot 文件上传(公有 / 私有)
spring boot·docker·容器
gAlAxy...8 小时前
5 种 SpringBoot 项目创建方式
java·spring boot·后端