Home >Java >javaTutorial >How to start, stop and restart the springboot jar package in Linux

How to start, stop and restart the springboot jar package in Linux

PHPz
PHPzforward
2023-05-14 09:37:211160browse

前言

springboot的配置文件中,配置文件的名字都有各自的意义跟用途

  • dev 开发环境

  • prod 生产环境(默认)

  • test 测试环境

加载指定配置文件 --spring.profiles.active=prod

springboot加载jar包的方式有

// 直接在控制台进行启动,缺点就是控制台关闭项目也就关闭了。
java -jar bootdo.jar
// 这种方式可以运行在后台,但是如果推出了shell的话,那也会挂
java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &
// 加上nohup的话,即使推出shell,也不影响。
nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &

解释

nohup表示永久运行。&表示后台运行

> 代表重定向到哪里

1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"

2 表示stderr标准错误

nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 & 即标准输出到mqnamesrv.out中,接着,标准错误输出重定向等同于标准输出,输出到同一文件中。

在服务器上通过如下方式启动成功之后,如果涉及到重新启动,那么你需要通过ps -ef | grep bootdo 查询到进程号,再通过kill -s 9 ${pid} 进行杀死再重新启动,很是麻烦。

nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &

Linux编辑启动、停止与重启springboot jar包的方法

一两次还好说,如果涉及到多次,那就有些崩溃了。

这样,可以通过编写一个shell脚本来进行启动(start)停止(stop)重启(restart)操作,一步到位,方便高效

在自定义目录创建 wss.sh 脚本,编辑内容如下。

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
app_name=websocketserver-0.0.1-snapshot.jar
 
#使用说明,用来提示输入参数
usage() {
 echo "usage: sh 脚本名.sh [start|stop|restart|status]"
 exit 1
}
 
#检查程序是否在运行
is_exist(){
 pid=`ps -ef|grep $app_name|grep -v grep|awk '{print $2}' `
 #如果不存在返回1,存在返回0 
 if [ -z "${pid}" ]; then
 return 1
 else
 return 0
 fi
}
 
#启动方法
start(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${app_name} is already running. pid=${pid} ."
 else
 nohup java -jar /mnt/ssd1/project/websocket/$app_name > /mnt/ssd1/project/websocket/websocketserverlog.file 2>&1 &
 echo "${app_name} start success"
 fi
}
 
#停止方法
stop(){
 is_exist
 if [ $? -eq "0" ]; then
 kill -9 $pid
 else
 echo "${app_name} is not running"
 fi 
}
 
#输出运行状态
status(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${app_name} is running. pid is ${pid}"
 else
 echo "${app_name} is not running."
 fi
}
 
#重启
restart(){
 stop
 start
}
 
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
 "start")
 start
 ;;
 "stop")
 stop
 ;;
 "status")
 status
 ;;
 "restart")
 restart
 ;;
 *)
 usage
 ;;
esac

Linux编辑启动、停止与重启springboot jar包的方法

在标红接头行配置启动命令。

之后就可以通过 wss.sh start | stop | restart 实现启动,停止,重启操作了。

补充下

sh xxx.sh与./xxx.sh区别

sh xxx.sh 是不需要有执行权限

./xxx.sh 是需要有执行权限的,可以通过 chmod +x xxx.sh 赋予权限

The above is the detailed content of How to start, stop and restart the springboot jar package in Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete