Ubuntu 上通过 Systemd 配置 Spring Boot jar 包自启动
2018-03-05 18:31
543 查看
缘起
几个新的项目使用 Spring Boot,在服务器上的部署方式每次打 jar 包都带个自增长的版本号,如app-1.0.0.4.jar,目录为
/opt/www/app/jars/。
也就是在打新 jar 包的同时保留旧版。
然后使用 Systemd 来管理 jar 包的启动。
步骤
在 /opt/bin/lib/
(或者任意目录) 下创建 app.service
[Unit] Description=My App After=syslog.target [Service] ExecStart=/opt/bin/lib/app.sh SuccessExitStatus=143 [Install] WantedBy=multi-user.target
进一步丰富此配置,可增加
Group、
User等配置 jar 包的执行用户组。
创建 app.sh
#!/bin/bash java -jar `ls -l /opt/www/app/jars/*.jar | awk '{print $9}' | tail -n 1`
别忘了使此脚本可执行:
chmod +x app.sh
此命令用于获得最新版本 jar 包,并通过
java -jar方式执行。
当然,如果生成的是
可执行 jar 包,则前置的
java -jar可省略。
整合到 Systemd
systemctl enable /opt/bin/lib/app.service
systemctl start app.service
其它可用命令:
status、
stop等,具体可参见
Systemd文档
Over!
相关文章推荐
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- 把spring-boot项目配置为Linux systemd服务,并注册自启动
- spring boot通过jar包启动时,配置文件的加载顺序
- 通过实例及源码分析关于SpringBoot启动类启动时自动配置问题
- spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring
- SpringBoot 通过属性文件外置配置
- springboot打包jar包找不到jsp文件以及在linux永久执行java -jar以及springboot的多环境配置
- Springboot jar包外指定配置文件及原理
- Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署
- springboot中如何添加第三方的jar包或者说如何配置本地jar
- Springboot打jar包分离lib配置文件正确方式
- SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active
- Gradle构建SpringBoot并打包可运行的jar配置
- Springboot jar包外指定配置文件及原理
- Springboot 打jar包分离lib,配置文件正确方式
- spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring
- (九)Spring Boot将程序打成可执行jar包,并将配置文件从jar包中分离出来
- Spring Boot项目打成jar包后关于配置文件的外部化配置