项目发布,写了个shell脚本来启动项目,包括项目的启动,关闭 重启 包括项目的日志输出到指定的文件 ,不为别的,就为了下次项目发布的时候,能够直接把脚本拷贝过去用就行啦!哈哈!!
把这段shell脚本复制过去,只要把红色部分改为你自己项目的东西,就可以直接运行啦 !
然后赋值该脚本执行权限就行了:chmod 777 脚本名
1.启动 ./blog.sh start 2../blog.sh stop 3../blog.sh restart
#!/bin/sh
#工作空间地址
RUN_DIR=/usr/local/blog
#项目运行放一些临时文件
CACHE_DIR=/usr/local/blog/cache
#配置环境变量 $PATH读取之前的环境变量用:进行连接
PATH=$PATH:$RUN_DIR
#注册环境变量
export PATH
#虚拟机的一些配置 主要是一个address这个不要重复(防止一个服务器发布多个项目),
JVM_OPTION="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5789"
#这个主要是创建项目工作的文件夹(如果不存在就创建)
if [ ! -d "$CACHE_DIR" ]; then
echo "${CACHE_DIR}文件夹不存在,准备创建!"
mkdir -p "$CACHE_DIR"
echo "${CACHE_DIR}文件夹创建成功!"
fi
# 这里是输入运行指令 一般都是 ./socket.sh start ./socket.sh stop ./socket.sh restart $1是用来接收输入的指令
case "$1" in
start)
echo "Starting bloging..."
# 这里的声明项目运行的临时目录 日志输出到指定文件 &这个是表示以>>守护进程运行 大概就是支持后台运行的意思
java -jar ${JVM_OPTION} -Djava.io.tmpdir="$CACHE_DIR" $RUN_DIR/blog.jar -d"$RUN_DIR">>$RUN_DIR/log &
# 这里是获取当前项目运行的PID 并写入到pid文件中 为了后面的stop做铺垫
echo $! > $RUN_DIR/pid
;;
stop)
echo "Stopping bloging..."
#读取pid文件的项目进程ID
PID=$(cat $RUN_DIR/pid)
# 杀死项目的进程
kill -9 $PID
;;
restart)
echo "Stopping bloging..."
PID=$(cat $RUN_DIR/pid)
kill -9 $PID
sleep 2;
echo "Starting bloging..."
java -jar ${JVM_OPTION} -Djava.io.tmpdir="$RUN_DIR/cache" $RUN_DIR/blog.jar -d"$RUN_DIR">> $RUN_DIR/log &
echo $! > $RUN_DIR/pid
;;
*)
echo "Usage $0 {start|stop|restart}"
;;
esac
#正常运行程序并退出程序
exit 0
---------------------
作者:苏雨丶
来源:CSDN
原文:https://blog.csdn.net/qq_38082304/article/details/79062214
版权声明:本文为博主原创文章,转载请附上博文链接!