官方教程
https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
1.首先Maven配置,完全可执行的jar
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
2.把jar包在init.d目录下创建连接
sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp
3.启动服务
service myapp start
4.设置开机启动
sudo chkconfig myapp on
其他命令
#移除开机启动
sudo chkconfig blog off
#停止服务
sudo service blog stop
5.在jar的目录下创建.conf文件,文件名和jar的名称相同
注意一下日志和pid的存放目录,这里我用的tmp,生产环境绝对不能用tmp,尤其是pid,tmp下系统会定期清理的
到时候无法stop了
APP_NAME=myapp #随便写
MODE=service #后台运行
JAVA_OPTS="-server -Xmx8g -Xms4g -Xloggc:/tmp/logs/pandora_gc.log -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=utf-8"
RUN_ARGS="--server.port=8081 --spring.profiles.active=prod --spring.pid.file=/tmp/logs/myapp.pid"
LOG_FOLDER=/tmp/logs
LOG_NAME=myapp
异常处理
将 Spring boot 安装为 Linux 服务启动,后输入 service myapp start
报错 Unable to find Java ,但是使用 java -jar myapp.jar 启动成功
解决方法:将java 连接到/sbin 文件夹下
sudo ln -s /usr/local/jdk/bin/java /sbin/java