Django+uWSGI+Nginx配置

Vee__發表於2019-09-16

1. 假設有如下Django專案

專案在/www/

  • demo
    • demo
      • init.py
      • settings.py
      • urls.py
      • wsgi.py
    • …其他資料夾

2. uWSGI配置檔案

[uwsgi]
http=0.0.0.0:埠號   # 作為http伺服器監聽某埠
chdir=/www/demo      # 專案根目錄
module=demo.wsgi     # wsgi檔案相對路徑

# 配置程式跟執行緒
process=2   		 # 程式數量
threads=2			 # 執行緒數量
enable-threads=true  # 是否開啟多執行緒,設定多執行緒就要開了

# uwsgi控制配置
master=true
pidfile=自定義檔名.pid     # 控制uwsgi程式的檔案
daemonize=自定義檔名.log 	# 守護程式,設定以後,uwsgi後臺執行,日誌會寫到此檔案中
啟動方式

uwsgi --ini 配置檔案

停止方式

uwsgi --stop 自定義檔名.pid


3. Nginx配置檔案

nginx的全域性檔案中, 有這麼一句include /etc/nginx/conf.d/*.conf
意味著會把/etc/nginx/conf.d目錄下所有.conf字尾的配置檔案匯入到全域性中,
所以在/etc/nginx/conf.d建立獨立的配置檔案來管理各自的配置

server {
    listen 80;                 // 監聽80埠
    client_max_body_size 64M;  // 請求最大長度
    charset utf-8;
    location / {    // 路由匹配轉發
        uwsgi_pass 127.0.0.1:57424;     //通過uwsgi轉發到本地57424埠
        include /etc/nginx/uwsgi_params;
    }
    location /static {  //靜態檔案轉發
        alias /www/WechatWQ/static;
    }
}

未完待續…