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

相关推荐
期待のcode21 分钟前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐24 分钟前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
a程序小傲33 分钟前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红34 分钟前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥36 分钟前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
小楼v1 小时前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地1 小时前
NIO的三个组件解决三个问题
java·后端·nio
czlczl200209251 小时前
Guava Cache 原理与实战
java·后端·spring
yangminlei1 小时前
Spring 事务探秘:核心机制与应用场景解析
java·spring boot
记得开心一点嘛2 小时前
Redis封装类
java·redis