使用SpringBoot开发程序,通过maven打包后,生成xxx.jar文件。以前的程序多数是打包成 .war包,放到Tomcat里运行。
在日常开发中,我一般都是通过shell编写.sh文件进行启动服务器。例如:
#!/bin/bash
#############################################
# args: start -- startup #
# stop -- stop #
# restart -- restart #
# status -- check the status #
#############################################
PRG="${BASH_SOURCE[0]}"
#PRGDIR current directory
PRGDIR="$(cd "$(dirname "${PRG}")" ; pwd)"
env='prd'
jarName="xbox-web.jar" #你的程序包名
CLASS="xbox-web"
jvmops="-Xmx1048M -Xms512M -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=256M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+UseCompressedOops"
status() {
if [ -f $CLASS".pid" ]
then
pid=`awk '{print $1}' $CLASS".pid"`
echo $CLASS" is running and pid is "$pid
else
echo $CLASS" is not running"
fi
}
start() {
if [ -f $CLASS".pid" ]
then
status
echo "It can't be runned twice!"
else
echo "starting $CLASS ..."
eval "/usr/lib/jvm/jdk1.8.0_171/bin/java -Dspring.profiles.active=${env} -Dspringfox.documentation.swagger.v2.host=xxx.xxxx.com -jar xbox-web.jar --server.port=8095 --log.dir=/siov/logs/xbox/manage/>> /siov/logs/xbox/manage/stdout.log 2>> /siov/logs/xbox/manage/stderr.log &"
echo $! > $CLASS".pid"
status
fi
}
stop() {
echo "stoping "$CLASS
pid=`awk '{print $1}' $CLASS".pid"`
echo "kill pid is "$pid
kill -9 $pid
ps -ef | grep $CLASS |grep -v grep | awk '{print $2}' | xargs kill
rm -f $CLASS".pid"
echo $CLASS" stoped"
}
case $1 in
status)
status
;;
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "#########################################"
echo " args: start -- startup rpc "
echo " stop -- stop rpc "
echo " restart-- restart rpc "
echo " status -- check the rpc status "
echo "#########################################"
;;
esac