我们使用sh脚本文件部署Jar包。此文中Jar包打包后的名称为app.jar
,脚本文件的名称为service.sh
。
01. 环境依赖
- jdk1.8
版本任你发,我用Java8。
02. service.sh内容
service.sh文件存放位置:与
app.jar
同级目录。
#!/bin/sh
APP_NAME=app.jar
# 使用说明,用来提示输入参数
usage() {
echo "Usage: sh service.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 $APP_NAME > /dev/null 2>&1 &
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
}
# 根据输入的参数,选择要执行的方法,不输入默认执行usage方法
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
03. 项目启动
给service.sh
文件设置执行权限:
chmod 744 service.sh
启动项目:
service.sh start
其它
停止项目:
service.sh stop
重启项目:
service.sh restart