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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章