django+uwsgi+nginx
阿新 • • 發佈:2018-12-05
配置之前,首先了解uwsgi以及nginx的配置引數,這裡就不多敘述,直接開始配置
以ubuntu為例,首先確保你的ubuntu系統執行python manage.py runserver 執行成功。
安裝uwsgi
uwsgi是python 的一個模組,安裝時需要注意的時你的專案環境時py2還是py3
pip install uwsgi //python2 pip3 install uwsgi //python3
安裝成功使用uwsgi啟動django專案
首先使用命令測試
建立data目錄,將我的cmdb放到data目錄下,如圖
使用命令啟動
uwsgi --http 192.168.11.179:8080 --file cmdb/wsgi.py --static-map=/static=static
引數說明
- http 這個就和runserver一樣指定IP 埠
- file 這個檔案就裡有一個反射,如果你在呼叫他的時候沒有指定Web Server就使用預設的
- static 做一個對映,指定靜態檔案,如css等檔案
此時開啟瀏覽器輸入http://192.168.11.179:8080即可訪問成功
啟動成功之後,可以嘗試使用uwsgi配置檔案啟動,
uwsgi配置檔案
我的專案中指令碼名稱mysite_uwsgi.ini
[uwsgi] # 專案目錄 chdir=/data/cmdb # 路徑根據你的專案的真實路徑填寫 # 指定專案的application module=mysite.wsgi # 指定sock的檔案路徑 socket=/opt/proj/script/uwsgi.sock # 根據情況填寫,不寫也不影響 # 程序個數 workers=5 pidfile=/data/uwsgi.pid # 儲存的pip目錄,建議和專案同級目錄 # 指定IP埠,根據情況選擇http or socket,一般選擇socket # http=192.168.11.179:8080 socket = 192.168.11.179:8080 # 指定靜態檔案 static-map=/static=/data/cmdb/static # 啟用主程序 master=true # 自動移除unix Socket和pid檔案當服務停止的時候 vacuum=true # 序列化接受的內容,如果可能的話 thunder-lock=true # 啟用執行緒 enable-threads=true # 設定自中斷時間 harakiri=30 # 設定緩衝 post-buffering=4096 # 設定日誌目錄 daemonize=/data/uwsgi.log # 根據實際專案路徑填寫
啟動指令碼
/usr/local/bin/uwsgi --ini mysite_uwsgi.ini # 一般環境不同,此時的uwsgi的路徑也會不同
瀏覽器訪問 192.168.11.179:8080,成功即配置成功
安裝nginx
apt-get install nginx
啟動nginx,驗證是否成功
/etc/init.d/nginx start 或者 service nginx start
詳細配置就不再多敘述
最後開始配合使用
Django+uwsgi+nginx
在nginx的預設配置目錄/etc/nginx/conf.d 新增cmdb.conf
server { listen 8000; # 根據自己愛好設定埠,訪問的時候使用 server_name cmdb.com; access_log /var/log/nginx/access.log main; # Nginx日誌配置 proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; location /static { alias /data/cmdb/static; } location / { include uwsgi_params; uwsgi_pass 192.168.11.179:8080; } }
重啟nginx
/etc/init.d/nginx restart 啟動後可使用 nginx -t 檢視是否成功
瀏覽器輸入192.168.11.179:8000 (需要注意的是此時的埠是你的cmdb.conf 中監聽的埠,和你的命令啟動的8080埠不一樣)
現實成功,即配置成功