Linux下以jar包部署SpringBoot

部署

将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

你可能感兴趣的:(cry-mall专栏)