spring boot 打成 jar 包采用 systemctl 设置自启动

关于 systemctl 的用法,大家自行百度

kbase-conference.service 的 demo 如下

[Unit]
Description=kbase-conference
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/home/ibotkbs/kbase-conference/startup.service.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/home/ibotkbs/kbase-conference/shutdown.sh
PrivateTmp=true  
SuccessExitStatus=143    

[Install]  
WantedBy=multi-user.target

/home/ibotkbs/kbase-conference/startup.service.sh 文件内容如下

#!/bin/sh
/home/ibotkbs/jdk1.8.0_151/bin/java -Xmn384M -Xmx1024M -Xms1024M -Xss256k -jar /home/ibotkbs/kbase-conference/kbase-conference-0.0.1-SNAPSHOT.jar -java.io.tmpdir=/home/ibotkbs/tmp --spring.config.location=/home/ibotkbs/kbase-conference/config/application.properties --spring.profiles.active=dev > /home/ibotkbs/kbase-conference/logs/stdout.log &

/home/ibotkbs/kbase-conference/shutdown.sh 文件内容如下:

#!/bin/sh
kill -9 `ps -ef|grep java|grep -v grep|grep kbase-conference|awk '{print $2}'`

注意事项

1、spring boot 这里主要遇到的问题是配置文件的指定,主要加上下面这句,就可以读到配置

--spring.config.location=/home/ibotkbs/kbase-conference/config/application.properties

2、startup.sh 中一定要用守护进程,否则 systemctl start 超过 90 秒会自动停掉,有一个超时的报错

[root@rabbitmq01 ~]# systemctl status kbase-conference.service
● kbase-conference.service - kbase-conference
   Loaded: loaded (/usr/lib/systemd/system/kbase-conference.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Fri 2018-03-30 19:13:44 CST; 3min 33s ago
  Process: 4172 ExecStart=/home/ibotkbs/kbase-conference/startup.service.sh (code=killed, signal=TERM)

Mar 30 19:12:13 rabbitmq01 systemd[1]: Starting kbase-conference...
Mar 30 19:13:44 rabbitmq01 systemd[1]: kbase-conference.service start operation timed out. Terminating.
Mar 30 19:13:44 rabbitmq01 systemd[1]: Failed to start kbase-conference.
Mar 30 19:13:44 rabbitmq01 systemd[1]: Unit kbase-conference.service entered failed state.
Mar 30 19:13:44 rabbitmq01 systemd[1]: kbase-conference.service failed.



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值