Django使用uwsgi部署教程


  一直想用uwsgi部署Django,因為uwsgi性能更好而且可以多進程跑(python manager.py runserver是單進程)。但在windows開發機上實驗的時候死活裝不了uwsgi(有人說可以裝,反正我沒裝成功),就放棄了(還是太輕浮了啊),其實使用uwsgi真的很簡單!步驟如下:

 

1、安裝uwsgi

pip install uwsgi

  注意:需要root權限安裝,否則運行時會提示找不到uwsgi命令;或者到Python執行文件所在目錄找到uwsgi命令,通過絕對路徑執行uwsgi命令。如果你是windows環境,建議先放棄安裝uwsgi吧,先到linux環境體驗一下成功的樂趣后再來折騰windows環境吧。

 

2、配置uwsgi.ini文件

在Django的項目根目錄(有manage.py的目錄)下新建uwsgi.ini文件,配置內容如下(拷貝后將‘=’后面的內容改一下):

[uwsgi]
#服務端口
http = :8000

#指定與Nginx通信的方式,不影響uwsgi本身運行。如果配置了需要到nginx中進行相關配置-才能通過nginx訪問Django
# socket = 127.0.0.1:8001

# 啟動一個master進程,來管理其余的子進程
master = True
processes = 4
threads = 2

#python虛擬環境目錄絕對路徑。如果有的話,home是虛擬環境根目錄,PYTHNONHOME是虛擬環境下的bin目錄(放置了Python執行文件)
#home = /env
#PYTHONHOME = /env/bin

#django項目目錄,與manager.py同級
chdir = /var/www/項目名

#主應用中的wsgi,下面這種配法是在Django根目錄下運行uwsgi有效,主APP名為有settings.py的那個目錄名。如果是其他目錄運行,下面建議寫成絕對路徑。
wsgi-file = 主APP名/wsgi.py

#服務停止時自動移除unix Socket和pid文件
vacuum = true

#設置每個工作進程處理請求的上限,達到上限時,將回收(重啟)進程,可以預防內存泄漏
max-requests=5000

#設置后台運行保存日志。只要配置了daemonize就會讓uwsgi后台運行,同時將日志輸出到指定目錄
daemonize=/var/www/log

#保存主進程的pid,用來控制uwsgi服務
pidfile=/tmp/xxx.pid
#uwsgi --stop/reload xxx.pid 停止/重啟uwsgi

#靜態文件映射
#static-map = /static=Django下static目錄的絕對路徑

  

3、啟動uwsgi

進入到Django根目錄,執行如下命令就行了

uwsgi uwsgi.ini

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM