Linux服務自啟動配置并將腳本添加至服務
??之前在給客戶一臺虛擬機上部署web系統的時候,是在一臺臺式電腦上部署的,客戶有個需求就是這臺電腦可能每天會關機開機,那么虛擬機也就會隨著開機和關機,但是客戶不太懂虛擬機以及所部署的服務怎么啟動,所以就順便總結了一點服務自啟動的簡便配置方式,
??就以啟動一個textserver.jar的服務為例,首先需要將啟動服務的環境都配置好,如:jdk,這里就不說jdk的安裝和配置了,
接下來需要寫一個shell腳本:
[root@ecs-9fe2-0005 /]# vi /etc/rc.d/init.d/testserver
內容可以參考下方的啟動.jar檔案的腳本內容:
#!/bin/sh
#chkconfig: 2345 80 90
RESOURCE_NAME=testserver.jar
NAME=testserver.log
tpid=ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [ ${tpid} ]; then
echo ‘Stop Process…’
kill -9 $tpid
fi
sleep 1
tpid=ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [ ${tpid} ]; then
echo ‘Kill Process!’
kill -9 $tpid
else
echo ‘Stop Success!’
fi
tpid=ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [ ${tpid} ]; then
echo ‘App is running.’
else
echo ‘App is NOT running.’
fi
rm -f tpid
nohup java -Xms512m -Xmx512m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=512m -jar /opt/test/server/jar/testserver.jar > /opt/test/server/log/$NAME&
echo $! > tpid
echo Start Success!
###end
注意這一句必須有:#chkconfig: 2345 80 90
??腳本是直接寫在/etc/rc.d/init.d/檔案夾內的,/etc/rc.d/init.d/目錄是linu系統設定一些服務的啟動目錄,也可以在其他目錄寫好然后cp到這個目錄下,這里需要保證.jar檔案時可執行并能夠啟動成功的,可以提前通過java -jar 檔案名.jar 試一試,也可以通過執行腳本檔案試一試看看jar服務是否能夠成功運行,如果無法運行,那么配置自啟動也沒用,如果能夠成功運行則繼續執行下一步,
繼續輸入以下命令,給檔案添加權限,使得腳本檔案可以執行:
root@ecs-9fe2-0003 ~]# chmod 755 /etc/rc.d/init.d/testserver
將檔案添加至服務
root@ecs-9fe2-0003 ~]# chkconfig --add /etc/rc.d/init.d/testserver
注意shell腳本中所寫的那些需要執行的目錄必須將目錄權限給到,否則會報檔案無法訪問等錯誤,
配置完成后,可以先通過命令測驗是否已添加至服務,命令如下:
root@ecs-9fe2-0003 ~]# service testserver start
執行后查看埠或日志,驗證是否生效且服務成功運行,
服務停止的命令是:
root@ecs-9fe2-0003 ~]# service testserver stop
完了之后就可以重啟服務器進行測驗,驗證自啟動是否配置成功,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267009.html
標籤:其他
