服务器中启动和停止项目
一、前言
在服务器上部署项目,一般就是将项目挂在后台,如果是微服务首选docker-compose,可以看看这篇博客,但如果是单体服务,感觉用可执行脚本会方便一点。
这里讲的是单体服务的部署。
二、使用命令启动和关闭项目
我的项目打包后名称为:jeecg-boot-module-system-2.4.2.jar ,后面以这个为例。
1、启动项目
在项目所在文件使用如下命令:
powershell
nohup java -jar <项目名称> &
这是我的:
powershell
nohup java -jar jeecg-boot-module-system-2.4.2.jar &
在项目运行期间,会把日志输出到 nohup.out 文件中,重启项目记得删除!
2、停止项目
停止项目就是杀掉项目的进程了,先查看进程ID,命令如下:
powershell
ps -ef | grep <项目名称>
这是我的:
powershell
ps -ef | grep jeecg-boot-module-system-2.4.2.jar
一般在第一行,后面也有启动项目的命令,认准那个就不会错了。其中第二列就是我们需要的进程ID。
然后使用杀掉进程的命令:
powershell
kill -9 <PID>
PID就是上面的进程ID,没有报错就代表成功了。
这是我的:
powershell
kill -9 3357306
因为已经杀过项目了,所以提示进程不存在。
三、使用可执行脚本启动和关闭项目
感觉上面的步骤在更新项目的时候略显繁琐,尤其是关闭项目的命令,就想着能不能使用一个命令完成,于是就将命令放到一个脚本文件中。
1、启动项目
创建一个名为 start.sh 的文件,内容如下:
powershell
nohup java -jar jeecg-boot-module-system-2.4.2.jar &
echo "Current PID:$!"
echo "Start Success!"
再通过命令启动,命令如下:
powershell
sh start.sh start
可以看到项目已经启动,会把日志输出到名为 nohup.out 的文件中。
2、停止项目
创建一个名为 stop.sh 的文件,内容如下:
powershell
# ps -ef | grep -v grep | grep jeecg-boot-module-system-2.4.2.jar | awk '{print $2}'
# 表示只输出"jeecg-boot-module-system-2.4.2.jar"的进程ID,就是PID,"awk '{print $2}'"表示只输出第二列,第二列就是PID所在列
PID=$(ps -ef | grep -v grep | grep jeecg-boot-module-system-2.4.2.jar | awk '{print $2}')
echo "Current PID:$PID"
kill -9 $PID
echo "Stop Success!"
再通过命令停止,命令如下:
powershell
sh stop.sh start
可以看到项目已经停止。