项目名称:akow-server
jar包名称:akow-server.jar
1、将 jar 包放至 /usr/local/server/akow-server 路径下(可自行安排路径)
该路径下还包含以下几个文件:
1) akow-server.jar 需要部署的项目jar包
2) akow-server-start.sh 项目启动脚本
3) akow-server-stop.sh 项目停止脚本
4) pidfile.txt 记录项目最后一次启动的进程号,供停止项目使用
5) nohup.out 生成的日志文件
2、项目启动脚本的 Shell 脚本 xxx-start.sh
#!/bin/sh
export JVAV_HOME=/usr/local/java/jdk1.8.0_311
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar /usr/local/server/akow-server/akow-server.jar & echo $! > /usr/local/server/akow-server/pidfile.txt
上述脚本只可在脚本及 jar 包所在路径下使用 sh xxx-start.sh 命令执行
如需配置自启动,则需将上述脚本更换为下述脚本
#!/bin/sh
export JVAV_HOME=/usr/local/java/jdk1.8.0_311
export PATH=$JAVA_HOME/bin
nohup $JVAV_HOME/$PATH/java -jar /usr/local/server/akow-server/akow-server.jar >/usr/local/server/akow-server/log.out & echo $! > /usr/local/server/akow-server/pidfile.txt
或
#!/bin/sh
nohup $JVAV_HOME/$PATH/java -jar /usr/local/server/akow-server/akow-server.jar >/usr/local/server/akow-server/log.out & echo $! > /usr/local/server/akow-server/pidfile.txt
3、项目停止脚本的 Shell 脚本 xxx-stop.sh
#!/bin/sh
cd /usr/local/server/akow-server
PID=$(cat pidfile.txt)
if [ ${PID} ];
then
echo 'Application is stpping...'
echo kill $PID DONE
kill $PID
else
echo 'Application is already stopped...'
fi
4、在 /usr/lib/systemd/system 路径下,新建 xxx.service 文件
[Unit]
Description=akow-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/server/akow-server/akow-server-start.sh
ExecStop=/usr/local/server/akow-server/akow-server-stop.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
5、注意需要对 xxx-start.sh 和 xxx-stop.sh 文件进行权限授权,否则xxx.service文件将无法访问到启动和停止的脚本
# 进入 xxx-start.sh 和 xxx-stop.sh所在路径下
chmod 777 xxx-start.sh
chmod 777 xxx-stop.sh
6、对 xxx.service 进行操作
systemctl start xxx.service #启动服务
systemctl stop xxx.service #停止服务
systemctl status xxx.service #查看服务状态
服务正常启动:
服务启动失败:
7、测试项目是否启动成功
8、成功后重启linux服务器,自启动是否部署成功
shutdown -r now