1. 程式人生 > 其它 >實驗七:Linux命令進階篇之二

實驗七:Linux命令進階篇之二

Python Django部署

uwsgi的配置

WSGI是一個web伺服器閘道器介面,是python應用程式或框架和web伺服器之間的一種介面,python並不懂得http協議,需要通過wsgi進行翻譯。uwsgi是WSGI的一種,它實現了http協議,以及WSGI協議。

# 檢查是否安裝
pip freeze|grep -i ‘uwsgi’

# 安裝語句
pip install uwsgi==[版本號]

uwsgi配置檔案與Django專案的seeting.py檔案同一個目錄,檔案格式為uwsgi.ini

[uwsgi] # 這個一定要放在首行,必須存在
http=IP地址加埠號
chdir=/home/ymy/<專案名稱> # 這裡放的是絕對引用的地址
wsgi-file=<專案名稱>/wsgi.py # 這裡的地址是以chdir為目標,相對飲用的地址資訊
process=4 # 程序數,cpu核數
threads=2 # 執行緒數
pidfile=uwsgi.pid # wsgi程序啟動後,會將主程序的ID寫進該檔案,會運用該檔案來進行wsgi服務的關閉
daemonize=uwsgi.log # 這個選項存在就表示後臺啟動,並且所有之前在前臺現實的資訊,都會錄入進該檔案
master=true

uwsgi的啟動和關閉命令

uwsgi --ini uwsgi.ini # 啟動命令

uwsgi --stop uwsgi.pid # 停止命令

uwsgi的啟動失敗原因排查

  1. 埠被佔用,通過lsof -i:埠號查詢出具體程序,關閉程序後,重新啟動uwsgi
  2. 停止失敗,stop無法關閉,原因可能是重複啟動uwsgi,導致pid檔案中的程序號失準。通過ps命令查詢出uwsgi程序,手動kill。