文档章节

Ubuntu 上通过 Systemd 配置 Spring Boot jar 包自启动

郁也风
 郁也风
发布于 2018/03/05 18:31
字数 255
阅读 1008
收藏 0

缘起

几个新的项目使用 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

进一步丰富此配置,可增加 GroupUser 等配置 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
  • 其它可用命令:statusstop 等,具体可参见 Systemd 文档

Over!

© 著作权归作者所有

郁也风
粉丝 16
博文 31
码字总数 17009
作品 0
长宁
项目经理
私信 提问
Spring boot部署CentOS7

目标 把Spring boot的jar部署到CentOS7上面,并且随CentOS7随机启动。 Spring boot Jar 然后,直接使用如下命令,进行构建: 创建用户 授权文件夹 systemd myapp.service 上面就是systemd的配...

亚林瓜子
2018/12/22
70
0
Spring Boot(Spring的自动整合框架)

Spring Boot 是一套基于Spring框架的微服务框架,由于Spring是一个轻量级的企业开发框架,主要功能就是用于整合和管理其他框架,想法是将平时主流使用到的框架的整合配置预先写好,然后通过简...

花漾年华
04/21
24
0
Spring Boot(02)——Maven插件

Spring Boot Maven插件 Spring Boot提供了一个Maven插件,在指定了为项目的parent后,在项目中可以进行如下定义来配置Spring Boot的Maven插件。该plugin主要提供了两个goal,run和repackage...

elim168
2018/11/01
0
0
Spring Boot 面试,一个问题就干趴下了!

最近栈长面试了不少人,其中不乏说对 Spring Boot 非常熟悉的,然后当我问到一些 Spring Boot 核心功能和原理的时候,没人能说得上来,或者说不到点上,可以说一个问题就问趴下了! 这是我的...

Java技术栈
04/01
329
0
geekidea/spring-boot-assembly

spring-boot-assembly 在spring boot项目中使用maven profiles和maven assembly插件根据不同环境打包成tar.gz或者zip 将spring boot项目中的配置文件提取到外部config目录中 将spring boot项...

geekidea
2018/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
5
0
前端技术之:webpack热模块替换(HMR)

第一步:安装HMR中间件: npm install --save-dev webpack-hot-middleware 第二步:webpack配置中引入webpack对象 const webpack = require('webpack’); 第三步:增加devServer配置项: ho......

popgis
昨天
5
0
死磕 java线程系列之线程池深入解析——体系结构

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 Java的线程池是块硬骨头,对线程池的源码做深入研究不仅能提高对Java整个并发编程的理解,也能提高自己...

彤哥读源码
昨天
6
0
虚函数表 图解

虚函数表 图解 p504

天王盖地虎626
昨天
5
0
java反射

学习目标  什么是反射  反射运行原理  了解反射机制的相关类  获取 class 对象的 3 种方式  通过反射获取构造方法并使用  通过反射获取成员变量并调用  通过反射获取成员方法并...

流川偑
昨天
5
2

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部