uwsgi配置
-
- 一、安裝
- 二、配置
- 三、常用的指令
- 四、注意事項
WSGI、uWSGI、uwsgi說明。
WSGI,全稱 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是為 Python 語言定義的 Web 伺服器和 Web 應用程式或架構之間的一種簡單而通用的接口。自從 WSGI 被開發出來以後,許多其它語言中也出現了類似接口。
uWSGI是一個Web伺服器,它實作了WSGI協定、uwsgi、http等協定。Nginx中HttpUwsgiModule的作用是與uWSGI伺服器進行交換。
uwsgi協定是一個uWSGI伺服器自有的協定,它用于定義傳輸資訊的類型(type of information),每一個uwsgi packet前4byte為傳輸資訊類型描述,它與WSGI相比是兩樣東西
uwsgi用于uWSGI與外部伺服器(Nginx)之間的交流協定,WSGI用于uWSGI與web架構之間的接口協定
一、安裝
pip install uwsgi
二、配置
于項目根目錄建立uwsgi.ini檔案目錄,配置資訊如下:
[uwsgi]
chdir=/home/zhangshuaipeng/web/flask/mysite/
home=/home/zhangshuaipeng/web/flask/mysite/.env
module=hello # python檔案的名稱
callable=app
master=true
processes=2 # worker程序個數
chmod-socket=666
logfile-chmod=644
uid=zhangshuaipeng_web
gid=zhangshuaipeng_web
procname-prefix-spaced=mysite # uwsgi的程序名稱字首
py-autoreload=1 # py檔案修改,自動加載
#http=0.0.0.0:8080 # 監聽端口,測試時候使用
vacuum=true # 退出uwsgi是否清理中間檔案,包含pid、sock和status檔案
socket=%(chdir)/uwsgi/uwsgi.sock # socket檔案,配置nginx時候使用
stats=%(chdir)/uwsgi/uwsgi.status # status檔案,可以檢視uwsgi的運作狀态
pidfile=%(chdir)/uwsgi/uwsgi.pid # pid檔案,通過該檔案可以控制uwsgi的重新開機和停止
daemonize=%(chdir)/uwsgi/uwsgi.log # 日志檔案,通過該檔案檢視uwsgi的日志
三、常用的指令
uwsgi --ini uwsgi.ini # 啟動
uwsgi --reload uwsgi.pid # 重新開機
uwsgi --stop uwsgi.pid # 關閉
四、注意事項
uwsgi.ini中暴露的端口是非http端口,此端口需要代理給到Nginx等web伺服器方可浏覽器通路到