如何优雅地启停SpringBoot服务,部署为Unix、Linux系统级服务

该方式主要借助官方的spring-boot-maven-plugin创建"Fully executable" jar ,这中jar包内置一个shell脚本,可以方便的将该应用设置为Unix/Linux的系统服务(init.d service),官方对该功能在CentOS和Ubuntu进行了测试,对于OS X和FreeBSD,可能需要自定义。

1、pom.xml添加插件


    org.springframework.boot
    spring-boot-maven-plugin
    
        true
    

然后打jar包

2、赋予可执行权限

sudo chmod u+x springboot-1.0.jar

3、设置为系统服务

sudo ln -s /home/apps/springboot/springboot-1.0.jar /etc/init.d/springboot

4、自定义参数

在jar包相同路径下创建一个.conf文件,名称应该与jar包的文件名相同,如springboot-1.0.conf

# java路径
JAVA_HOME="/home/jdk1.8.0_131"
# 虚拟机启动参数
JAVA_OPTS="-server -Xmx256M -Xms256M -Dfile.encoding=UTF-8 -DHOSTNAME=zxb01"
# 环境变量配置
RUN_ARGS="--spring.profiles.active=dev"
# 日志目录
LOG_FOLDER="/home/log/service/"
# pid目录
PID_FOLDER="/home/pids/"

5、相关命令

可以通过service springboot查看可以执行的命令参数,比如:

# 启动
service springboot start

# 停止
service springboot stop

# 重启
service springboot restart

# 查看运行状态
service springboot status

你可能感兴趣的:(如何优雅地启停SpringBoot服务,部署为Unix、Linux系统级服务)