SpringBoot项⽬在Linux系统启动脚本、关闭脚本、重启脚本
启动脚本
⽂件名:startProject.sh
1、创建启动脚本、⽇志⽂件
touch startProject.sh
touch myProject.log
2、启动脚本⽂件内容如下:
# !/bin/sh
# nohup:在退出SSH会话后程序启动仍然有效
# 执⾏⼀个shell命令⾏时通常会⾃动打开三个标准⽂件,即标准输⼊⽂件(stdin),通常对应终端的键盘;标准输出⽂件(stdout)和标准错误输出⽂件(stderr)。分# 2是指错误的输出    1是指标准的输出    2 >&1是指将错误输出重新定向到标准输出去⽽事先标准输出已经重定向到了>;cleanup.out中(省
略了1)所以是将错误也#
# 如果不使⽤nohup:在退出SSH会话后,程序将⽆法访问。
# java -jar /javaProjects/backend-meetingfilm/backend-eureka-server-0.0.1-SNAPSHOT.jar > /javaProjects/backend-meetingfilm/backendEureka.log & echo $! > / #
# 使⽤外部配置⽂件
# rm -f /var/run/backendEureka.pid
# nohup java -Xms128m -Xmx128m -jar /javaProjects/backend-meetingfilm/backend-eureka-server-0.0.1-SNAPSHOT.jar --fig.location=/javaProjects/ba # echo $! > /var/run/backendEureka.pid
# echo Start Success!
#
# 不使⽤外部配置⽂件
rm -f /var/run/backendEureka.pid
nohup java -Xms128m -Xmx128m -jar /javaProjects/backend-meetingfilm/backend-eureka-server-0.0.1-SNAPSHOT.jar > /javaProjects/backend-meetingfilm/back
SERVER_PORT="8881"
UP_STATUS=-1
while(( $UP_STATUS<=0))
do
UP_STATUS=$(lsof -i:"$SERVER_PORT" | wc -l)
done
echo Start Success!
3、设置权限
chmod u+x *.sh
4、启动jar
./startProject.sh
注意:如果在windows系统进⾏编辑以后放⼊Linux系统执⾏,可能因为换⾏符格式不对⽽⽆法执⾏。按如下⽅法进⾏更改:
使⽤vi编辑⽂件,:set ff=unix 设置⽂件使⽤unix换⾏符。
:set ff 可以查看⽂件使⽤的换⾏符格式。
# set ff=unix  ,就是告诉 vi 编辑器,使⽤unix换⾏符(适⽤与Linux)
# set ff=dos  ,就是告诉 vi 编辑器,使⽤dos换⾏符(适⽤与Windows)
最好是在linux上使⽤命令创建⽂件,编辑⽂件,以免出现中⽂乱码情况。
关闭脚本
⽂件名:stopProject.sh
步骤同上,内容如下:
# !/bin/sh
#
# 暴⼒⽅法(不采⽤)
# PID=$(cat /var/run/backendEureka.pid)
# kill -9 $PID
#
# 基本合格⽅法(不推荐)
# APP_NAME=backend-eureka-server-0.0.1-SNAPSHOT.jar
#
# tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print }'`
# if [ ${tpid} ]; then
#    echo ''
#    kill -15 $tpid
# fi
linux重定向# sleep 5
# tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print }'`
# if [ ${tpid} ]; then
#    echo 'Kill Process!'
#    kill -9 $tpid
# else
#    echo 'Stop Success!'
# fi
#
# 优雅⽅法(推荐)
# 平滑关闭SpringBoot应⽤
# 服务端⼝号
SERVER_PORT="8881"
# 服务监控端⼝号
MANAGE_SERVER_PORT="18881"
# 服务监控访问前缀
MANAGE_BASE_PATH="eurekaManagement"
#
# 应⽤名称
JAR_NAME="backend-eureka-server-0.0.1-SNAPSHOT"
# Actuactor ⽅式远程关闭应⽤(前提是项⽬中配置了Actuactor的/shutdown⽅式优雅停机)
curl -H "Content-Type:application/json" -X POST localhost:$MANAGE_SERVER_PORT/$MANAGE_BASE_PATH/shutdown echo "准备关闭应⽤"
UP_STATUS=1
while(( $UP_STATUS>0))
do
UP_STATUS=$(lsof -i:"$SERVER_PORT" | wc -l)
done
echo "应⽤关闭成功"
重启脚本
⽂件名:restartProject.sh
内容如下:
# !/bin/bash
echo Stopping application
source ./stopProject.sh
echo Starting application
source ./startProject.sh

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。