将spring boot应用注册为Unix/Linux系统服务

运行Spring Boot应用可以用java -jar的方式,也可以将应用作为Unix系统(Linux, OSX, FreeBSD 等等)可执行程序,这种方式使的在生产环境下安装和管理Spring boot程序变得异常简单。

修改Maven插件配置创建可执行的jar包:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>


Gradle的配置:

apply plugin: 'spring-boot'

springBoot {
    executable = true
}



使用init.d或者systemd将Spring boot应用启动为Unix/Linux系统服务非常简单。

默认的可执行脚本可以作为init.d脚本被内置在Spring Boot jar包里,连接到/etc/init.d,可以使用start,stop,restart和status命令。该脚本有以下特性:

只有jar包所有者可以启动该服务
使用/var/run/<appname>/<appname>.pid追踪应用的PID
将控制台的日志写到/var/log/<appname>.log
假设你的Spring Boot应用安装在/var/myapp, 使用下面命令将Spring Boot应用作为init.d服务:


$ sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp

猜你喜欢

转载自ymq267.iteye.com/blog/2364141