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能够正确地记录输出和错误信息。如果应用程序需要额外的配置,可以通过环境变量或者命令行参数来传递。

相关推荐
霸道流氓气质5 分钟前
SpringBoot中集成阿里云消息队列 ApsaraMQ for RabbitMQ 全面指南
spring boot·阿里云·java-rabbitmq
霸道流氓气质15 分钟前
SpringBoot中实现告警判定算法-位报警与模拟量阈值-技术详解
spring boot·算法·jquery
YDS82920 分钟前
大营销平台 —— 活动SKU库存扣减业务及其一致性处理
java·spring boot·redis·rabbitmq·ddd
减瓦29 分钟前
源码视图技术:集 APT 和 AST 所长
java·project lombok
wending-Y33 分钟前
Flink 滑动窗口作业 TaskManager RocksDB 状态膨胀 Bug 分析
java·前端·数据库
阿拉雷️34 分钟前
部署实战】Docker + AI Agent:让AI一键部署Spring Boot到服务器,从打包到上线只要一条指令
人工智能·spring boot·docker
兰令水39 分钟前
hot100【acm版】【2026.7.21打卡-java版本】
java·开发语言·算法·leetcode·面试
IT_Octopus41 分钟前
一次由 RestTemplate 引发的 Connection reset:被 XML 截胡的请求体
xml·java·spring boot
云烟成雨TD43 分钟前
Micrometer 系列【2】可观测性:指标(Metrics)
java·云原生·micrometer