Linux下uwsgi服務器配置
Linux下部署python的web項目常用到uwsgi,但是uwsgi關閉和重啓困難,我之前都是修改完代碼然後重啓服務器來解決的,顯然這並不適用於線上項目。網絡上常見的博客解決方法用一個寫一個shell來進行關閉,本人實際測試過,過於繁瑣,並不是解決重啓項目的最優解。通過閱讀uwsgi的官方文檔和總結整理成這篇博客,希望可以幫助到廣大python web程序員和使用uwsgi服務器的夥伴。
1.uwsgi 配置文件
我本身用的是Django框架,在此用Django來舉例。
配置文件內容如下:
# mysite_uwsgi.ini file
[uwsgi]
# Django-related settings
# 項目的完整路徑
chdir = /home/rzy/enterprise/Cavy
# Django's wsgi file
module = Cavy.wsgi
# the virtualenv (full path)
# master
master = true
# maximum number of worker processes
processes = 10
# the socket (use the full path to be safe
socket = :8031
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
# 日誌的存放路徑,目錄要建立好,.log文件程序啓動會自動建立,追加內容
daemonize = /home/rzy/log/cavy_debug.log
buffer-size = 65535
post-buffering = 65535
# python所用虛擬環境的完整路徑
virtualenv = /home/rzy/.virtualenvs/py2_successs_edu
# uwsgi進程的狀態文件存放
stats = %(chdir)/uwsgi/uwsgi.status
# uwsgi文件啓動後的pid
pidfile = %(chdir)/uwsgi/uwsgi.pid
將此文件命名爲 [項目名]_uwsgi.ini , 拿我的項目Cavy爲例子,我的uwsgi文件就是命名爲cavy_uwsgi.ini,這樣寫很容易理解是某個項目的uwsgi配置文件。
2.建立uwsgi文件夾
在項目的根目錄下建立uwsgi文件夾, 使用命令mkdir uwsgi
即可,建立名爲uwsgi的文件夾,用於存放步驟1中的uwsgi.status 和uwsgi.pid文件。
3.uwsgi 服務器的啓動、關閉和重新加載
uwsgi服務器配置成功後,可以使用uwsgi命令來進行靈活管理。
(1)啓動
uwsgi --ini cavy_uwsgi.ini
(2)停止
uwsgi --stop uwsgi/uwsgi.pid
(3)重啓
uwsgi --connect-and-read uwsgi/uwsgi.status
從此,管理uwsgi項目就方便很多了。有問題可以評論區私我。我的另一邊博客ubuntu + Django + uwsgi + nginx詳細講述了Django項目在Ubuntu上的部署方案,傳送門點這裏(我現在還沒寫好)。