1. 程式人生 > >flask+gunicorn快速部署到伺服器

flask+gunicorn快速部署到伺服器

#以下是一個指令碼檔案

ps aux | grep 'main' | grep -v grep | awk -F ' ' '{print$2}' | xargs kill -9
#“grep 'main' ”的輸出結果是,所有含有關鍵字“main”的程序。“grep -v grep”是在列出的程序中去除含有關鍵字“grep”的程序。“awk -F ' ' '{print$2}' "是以空格擷取輸入行的第二個字串,而這正好是程序號PID,-F指定分隔符。“xargs kill -s 9”中的xargs命令是用來把前面命令的輸出結果(PID)作為“kill -s 9”命令的引數,並執行該命令。“kill -s 9”會強行殺掉指定程序。

#linux中的單引號和雙引號的確對轉義字元有不同的分別,但前提是系統的轉義字元,例如:$,>,<等(系統保留字),而grep對單引號和雙引號對grep一樣,是因為設計時grep天生支援正則表示式,所以在grep看來,它的轉義字元包括兩部分,一部分就是系統保留字,另一部分就是正則表示式的轉義字元,比如,^是正則表示式的轉義字元,但由於他並非系統保留字,所以對它來講,單引號和雙引號都是一樣的,但是不加引號就不起作用。但如果你要查詢的資訊中包含$,例如:"$boy"和'$boy‘'就不一樣,因此,對於系統保留字,grep依然滿足不同引號的不同用法,但是對正則表示式的轉義字元,則對引號不敏感。問題本身,若是查詢關鍵字中存在空格,則需要加引號

nohup python3 ./www/run.py > www.log 2>&1 &

#如果不將 nohup 命令的輸出重定向,輸出將附加到當前目錄的 nohup.out 檔案中。如果當前目錄的 nohup.out 檔案不可寫,輸出重定向到 $HOME/nohup.out 檔案中。此處永久執行run.py檔案並將日誌寫入www.log。

#2>&1:linux中 0:標準輸入;1:標準輸出;2:標準錯誤,意思為把錯誤資訊定向到前一個(第一個&的作用)開啟的檔案當中去。

nohup gunicorn -t 50 -w 3 -b 127.0.0.1:12006 main:app

#引數具體看gunicorn配置