近日,在阿里雲服務器上部署了一個Python應用,Web框架為Tornado,服務器系統為Ubuntu 16.04。
服務的啟動也十分的簡單:
python services.py
我是利用Xshell工具連接雲服務器的,在啟動服務的時候發現,一旦我關閉了Xshell窗口,服務就會停止,這就意味我必須時刻保持着對服務器的連接,服務才不會被Stop,這並比現實,所以我想寫個腳本文件來控制程序的start以及stop。
具體實現如下 : service-manager.sh(因為我是直接在root權限下進行安裝的,其它用戶修改一下workdir即可,當然python文件名需要同步修改)
1 #!/bin/sh 2 # chkconfig: 123456 90 10 3 # 4 workdir=/root/EasySild 5 6 daemon_start(){ 7 cd $workdir 8 python services.py & 9 echo "Server started." 10 } 11 12 daemon_stop(){ 13 pid=`ps -ef | grep 'python services.py' | awk '{ print $2 }'` 14 echo $pid 15 kill $pid 16 sleep 2 17 echo "Server Killed." 18 } 19 20 case "$1" in 21 start) 22 daemon_start 23 ;; 24 stop) 25 daemon_stop 26 ;; 27 restart) 28 daemon_stop 29 daemon_start 30 ;; 31 *) 32 echo "Usage: Services {start|stop|restart}" 33 exit 1 34 esac 35 exit 0
腳本這樣就已經准備好了,可以放在跟python文件同級的路徑下,也可以放在你想要的位置。
腳本運行指令:(首先要進入腳本所在路徑)
起服:sh service-manager.sh start
停服:sh service-manager.sh stop
重啟:sh service-manager.sh restart
PS:有需要的小伙伴也可以將停服、起服腳本分開。