部署
将jar包放到/usr/java目录下
启动
这种方式启动后,不能ctrl+c结束,否则服务也会跟着停止
java -jar cry-mall-backend.jar
改成:
nohup java -jar cry-mall-backend.jar &
停止
根据端口号查进程id,再根据pid kill进程
9095是application.properties中自定义的服务端口号
netstat -lnp|grep 9095
32528就是进程id
kill -9 32528
脚本启动
别处找的一个启动脚本,经验证应该没什么问题
创建restart.sh文件,放入下面代码,jar包名称改成自己的即可,然后将文件放到jar包同级目录下
#!/bin/bash
jar_pid=`ps -ef|grep -v grep | grep 'java -jar cry-mall-backend.jar '|awk '{ print $2 }'`
echo $jar_pid
if [ ! -n "$jar_pid" ]; then
echo 'will redploy.'
rm -rf nohup.out
nohup java -jar cry-mall-backend.jar &
echo 'redploy success0.'
else
kill -9 $jar_pid
echo 'kill' $jar_pid
rm -rf nohup.out
nohup java -jar cry-mall-backend.jar &
echo 'redploy success1.'
fi
执行脚本
[root@VM_0_5_centos /usr/java]#./restart.sh
执行脚本常见问题
-
报错:
-bash: ./restart.sh: Permission denied
原因:权限不够
解决方法:[root@VM_0_5_centos /usr/java]#chmod u+x *.sh
-
报错:
-bash: ./restart.sh: /bin/bash^M: bad interpreter: No such file or directory
原因: 文件格式不对
vim restart.sh进入文件后, 执行:set ff
查看一下, 结果发现fileformat=dos, 这种格式有问题
解决方法: vim restart.sh后执行:set fileformat=unix