如果不配置以服务方式启动java项目的话每次启动服务器都需要到jar包目录手动
java -jar 运行jar包,非常之不方便
所以我们将jar包自定义为启动服务
- 首先创建jar包的启动脚本 xxx-start.sh
#!/bin/sh
JAVA_HOME=/usr/local/java/jdk1.8.0_73/bin
#JAVA_OPTS="-Duser.timezone=GMT+8 -server -Xms2048m -Xmx2048m"
APP_LOG=/var/log/messages
APP_HOME=/sensee/senseeschool
APP_MAIN=ruoyi-admin.jar
CLASSPATH=$APP_HOME/classes
#for tradePortalJar in "$APP_HOME"/lib/*.jar;
#do
# CLASSPATH="$CLASSPATH":"$tradePortalJar"
#done
tradePortalPID=0
getTradeProtalPID(){
javaps=`jps -l | grep $APP_MAIN`
if [ -n "$javaps" ]; then
tradePortalPID=`echo $javaps | awk '{print $1}'`
else
tradePortalPID=0
fi
}
startup(){
getTradeProtalPID
echo "================================================================================================================"
if [ $tradePortalPID -ne 0 ]; then
echo "$APP_MAIN already started(PID=$tradePortalPID)"
echo "============================================================================================================"
else
echo -n "Starting $APP_MAIN"
java -jar $APP_MAIN &
getTradeProtalPID
if [ $tradePortalPID -ne 0 ]; then
echo "(PID=$tradePortalPID)...[Success]"
echo "========================================================================================================="
else
echo "[Failed]"
echo "========================================================================================================="
fi
fi
}
source /etc/profile
startup
- 然后创建停止脚本 xxx-stop.sh
#!/bin/sh
JAVA_HOME=/usr/local/java/jdk1.8.0_73/bin
APP_MAIN=ruoyi-admin.jar
tradePortalPID=0
getTradeProtalPID(){
javaps=`jps -l | grep $APP_MAIN`
if [ -n "$javaps" ]; then
tradePortalPID=`echo $javaps | awk '{print $1}'`
else
tradePortalPID=0
fi
}
shutdown(){
getTradeProtalPID
echo "================================================================================================================"
if [ $tradePortalPID -ne 0 ]; then
echo -n "Stopping $APP_MAIN(PID=$tradePortalPID)..."
kill -9 $tradePortalPID
if [ $? -eq 0 ]; then
echo "[Success]"
echo "================================================================================================================"
else
echo "[Failed]"
echo "================================================================================================================"
fi
getTradeProtalPID
if [ $tradePortalPID -ne 0 ]; then
echo "[Failed]"
echo "================================================================================================================"
fi
else
echo "$APP_MAIN is not running"
echo "================================================================================================================"
fi
}
source /etc/profile
shutdown
- 写好脚本之后,需要为脚本添加可执行权限
chmod +x xxx.sh
- 在/etc/systemd/system/目录下创建service服务 xxx.service
[Unit]
Description=ruoyi senseeschool service
After=network.target
[Service]
Type=forking
WorkingDirectory=/sensee/senseeschool
ExecStart=/sensee/senseeschool/ruoyi-server-start.sh
ExecStop=/sensee/senseeschool/ruoyi-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
目录一定要对应清楚
- 最后给服务添加权限chmod +x hello-service.service
添加开机启动服务
systemctl enable xxx.service #添加开机启动服务
systemctl start xxx.service # 启动服务
systemctl stop xxx.service #关闭服务
systemctl restart xxx.service # 重启服务
systemctl status xxx.service #查看服务状态
systemctl disable xxx.service #取消开机启动
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/188065.html