Springboot项目设置服务,开机自启动(centos)

感觉都很久没写东西了.今天记录以下基于Centos7,把Java项目设置成服务,并开机自启动

  • 编写项目启动脚本
#!/bin/bash
APP_NAME=springboot-test
APP_PATH=/data/springboot/test/
export JAVA_HOME=/data/java/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre

usage(){
  echo "请输入以下内容 [start|stop]"
  exit 1
}

stop(){
	echo "准备关闭当前项目已存在进程"
	tpid=`ps -ef|grep ${APP_NAME}.jar|grep -v grep|grep -v kill|awk '{print $2}'`
	if [ ${tpid} ]; then
	    echo "关闭进程: ${tpid}"
	    kill -9 $tpid
	    echo "关闭完成"
	else
	    echo '项目未运行'
	fi
}

start(){
	stop
	echo "开始启动"
	rm -f ${APP_PATH}${APP_NAME}.pid
	nohup ${JRE_HOME}/bin/java -jar ${APP_PATH}${APP_NAME}.jar &
	echo $! > ${APP_PATH}${APP_NAME}.pid
}

case $1 in
"start")
	start
	;;
"stop")
	stop
	;;
	*)
	usage
	;;
esac
exit 0
  • 脚本授权
chmod +x /data/springboot/test/starter.sh
  • 设置自定义服务
vim /lib/systemd/system/springboot-test.service
  • 编写内容
[Unit]                                                                                                                                                                                                               
Description=springboot-test-server                                                                                                                                                                                    
After=network-online.target docker.socket firewalld.service docker.service time-set.target
Wants=network-online.target docker.service
Requires=docker.socket                                                                                                                                                                                            
                                                                                                                                                                                                                     
[Service]                                                                                                                                                                                                            
Type=forking                                                                                                                                                                                                         
ExecStart=/data/springboot/test/starter.sh start                                                                                                                                                          
ExecRestart=/data/springboot/test/starter.sh start                                                                                                                                                      
ExecStop=/data/springboot/test/starter.sh stop                                                                                                                                                            
                                                                                                                                                                                                                     
[Install]                                                                                                                                                                                                            
WantedBy=multi-user.target  
  • 重新加载配置
systemctl daemon-reload
  • 设置服务自启动
systemctl enable springboot-test.service	

好了到这我们Java项目就被设置成服务了,并开机自启动了

  • 常用服务命令
# 开机启动
systemctl enable springboot-test.service
# 启动
systemctl start springboot-test.service
# 关闭 
systemctl stop springboot-test.service
# 重启 
systemctl restart springboot-test.service
# 查看状态
systemctl status springboot-test.service
# 重新加载配置
systemctl daemon-reload
  • 查看所有的开机启动项
systemctl list-unit-files|grep enabled
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AbelEthan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值