部署
將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