当前位置: 首页 > news >正文

centos服务配置springboot服务开机启动

在做后端服务运维时,经常遇到服务器重启时,需要移动一堆后端服务。服务器故障自动重启时,通常无人通知。把springboot服务的jar包配置开机启动太有必要了,虽然不是很复杂,这里记录一下太有必要了。

  1. 创建jar包启动和停止脚本
    注意替换,jar包名字、jdk路径、文件路径
#!/bin/bash
APP_NAME=livestock-0.0.1-SNAPSHOT
APP_PATH=/home/
export JAVA_HOME=/home/jdk1.8.0_391
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

  1. 授权脚本
chmod +x /home/starter.sh
  1. 将jar包定义为服务
vi /lib/systemd/system/livestock.service

写入下面内容

[Unit]                                                                                                                                                                                                               
Description=A Spring Boot application
After=syslog.target                                                                                                                                                                                           
                                                                                                                                                                                                                     
[Service]                                                                                                                                                                                                            
Type=forking
User=root                                                                                                                                                                                                         
ExecStart=/home/starter.sh start                                                                                                                                                          
ExecRestart=/home/starter.sh start                                                                                                                                                      
ExecStop=/home/starter.sh stop                                                                                                                                                            
SuccessExitStatus=143
Restart=always
RestartSec=5
PrivateTmp=true
                                                                                                                                                                                                                     
[Install]                                                                                                                                                                                                            
WantedBy=multi-user.target  

  1. 重新加载配置
systemctl daemon-reload
  1. 开启启动服务
systemctl enable livestock.service

开机启动服务

相关文章:

  • 第一章 Win10系统VM安装Ubuntu1704虚拟机
  • VUE 入门及应用 ( Axios )
  • 【vue】vue 是怎么把 template 模版编译成 render 函数的,什么是AST抽象语法树
  • 1.QT简介(介绍、安装,项目创建等)
  • 【MySQL】_内连接
  • 【论文阅读】深度学习在过冷沸腾气泡动力学分割中的应用
  • python dictionary 字典中的内置函数介绍及其示例
  • leetcode刷题(剑指offer) 47.全排列Ⅱ
  • Python入门到精通(九)——Python数据可视化
  • 【小沐学QT】QT学习之信号槽使用
  • 人工智能_大模型010_Centos7.9中CPU安装ChatGLM3-6B大模型_安装使用_010---人工智能工作笔记0145
  • 后端实现跨域(三种方式)
  • 【Java程序设计】【C00329】基于Springboot的高校实习管理系统(有论文)
  • 【大数据】-- dataworks 创建odps 的 hudi 外表
  • 森林监测VR虚拟情景再现系统更便利
  • 【C++】认识类和对象
  • C++面试宝典第33题:数组组成最大数
  • Win11系统实现adb命令向安卓子系统安装APP
  • 题目 1224: 整除的尾数
  • Ruoyi框架使用过程碰到的问题——请求地址‘/***/***‘,认证失败‘未能读取到有效Token‘,无法访问系统资源
  • 十四届全国人大常委会第十五次会议在京举行,审议民营经济促进法草案等
  • 格力电器去年净利增长一成:消费电器营收下滑4%,一季度净利增长26%
  • 高璞任中国一汽党委常委、副总经理
  • 俄罗斯称已收复库尔斯克州,普京发表讲话
  • 封江晚开江早,东北地区主要江河上一冰封期冰层较常年偏薄
  • 上海楼市明显复苏:一季度房地产开发投资增长5.1%,土地市场重燃战火