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

相关推荐
神仙别闹9 分钟前
基于SpringMVC+Spring+MyBatis开发的个人博客网站
java·spring·mybatis
华仔啊30 分钟前
MyBatis-Plus 不只是简化CRUD!资深架构师总结的15个高阶用法
java·后端·mybatis
Han.miracle1 小时前
Java EE --JUC
java·线程池·原子类·callable·semaphore·reentrantlcok
那我掉的头发算什么1 小时前
【javaEE】多线程——线程安全初阶☆☆☆
java·jvm·安全·java-ee·intellij-idea
yzp-1 小时前
Zookeeper 笔记
java·分布式·zookeeper
蜡笔大新7981 小时前
IDEA中的异常
java·ide·intellij-idea
q***06292 小时前
Spring Boot + Spring AI快速体验
人工智能·spring boot·spring
后端小张2 小时前
【JAVA 进阶】Spring Boot 注解体系与工程实践
java·开发语言·spring boot·后端·spring·spring cloud·java-ee
9号达人2 小时前
接口设计中的扩展与组合:一次Code Review引发的思考
java·后端·面试
百***62852 小时前
oracle 12c查看执行过的sql及当前正在执行的sql
java·sql·oracle