天天看點

uwsgi配置

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伺服器方可浏覽器通路到