CentOS6.x實現springboot專案開機自啟動
阿新 • • 發佈:2020-12-25
由於centOS6.x在啟動的時候會自動執行:/etc/rc.d/rc.local
指令碼檔案
故我們可以將啟動springboot專案的指令碼放在這個檔案裡面。
第一步:準備啟動指令碼
比如我們準備的指令碼就是:(/autostartSpringBootProject1
)
啟動指令碼內容如下:
#!/bin/bash
# 獲取埠的pid (假入我們啟動的springboot專案埠為8084)
pid=`lsof -i :8084 | grep -v "PID" | awk '{print $2}'`
source /etc/profile # 載入
# 判斷埠是否被佔用
if [ "$pid" != "" ];
then
echo "8084埠被佔用"
kill -9 $pid # 殺掉程序在執行啟動指令碼
cd /usr/local/project/mainModule
nohup java -jar mainmodule-exec.jar > mainmodule-exec-log.out 2>&1 &
fi
else
echo "8084埠沒被佔用"
cd /usr/local/project/mainModule
nohup java -jar mainmodule-exec.jar > mainmodule-exec-log.out 2>&1 &
fi
echo "部署中"
sleep 1m
pid1=`lsof -i :8084 | grep -v "PID" | awk '{print $2}'`
# 判斷是否部署成功
if [ "$pid1" == "" ]; then
echo '部署失敗,可能是配置檔案的原因,可以檢視一下日誌檔案檢視原因'
else
echo '部署成功'
fi
第二步:新增指令碼執行許可權
chmod +x /autostartSpringBootProject1
第三步:將指令碼路徑新增至檔案(/etc/rc.d/rc.local)
vi /etc/rc.d/rc.local
儲存重啟即可。