uWSGI伺服器介紹
1、uWSGI
uWSGI是一個Web伺服器,它實作了WSGI協定、uwsgi、http等協定。Nginx中HttpUwsgiModule的作
用是與uWSGI伺服器進行交換。
要注意 WSGI / uwsgi / uWSGI 這三個概念的區分。
WSGI是一種通信協定,Flask,webpy,Django、CherryPy等等都自帶WSGI,不過性能都不好。
Web伺服器網關接口(Python Web Server Gateway Interface,縮寫為WSGI)
1、WSGI是一套接口标準協定
UWSGI同WSGI一樣是一種通信協定。
而uWSGI是實作了uwsgi和WSGI兩種協定的Web伺服器。
為什麼有了uWSGI為什麼還需要nginx?因為nginx具備優秀的靜态内容處理能力,然後将動态内容轉發
給uWSGI伺服器,這樣可以達到很好的用戶端響應。
統一标準。
說到這,我們基本理清了 uWSGI 在 web伺服器與 web架構之間作用:uWSGI 就像一條紐帶,将 web服
務器與 web架構連接配接起來。Nginx 屬于一種高并發能力 web伺服器,Flask屬于一種 web架構,是以,
uWSGI 與 Nginx、Flask 的作用就不明而喻了。
Nginx,uWSGI,Flask 之間的對話
Nginx:Hey,uWSGI,我剛收到了一個請求,我需要你作些準備,然後由Flask來處理這個請求。
uWSGI:OK,Nginx。我會設定好環境變量,然後将這個請求傳遞給Flask處理。
Flask:Thanks uWSGI!給我一些時間,我将會把請求的響應傳回給你。
uWSGI:Alright,那我等你。
Flask:Okay,我完成了,這裡是請求的響應結果,請求把結果傳遞給Nginx。
uWSGI:Good job!Nginx,這裡是響應結果,已經按照要求給你傳遞回來了。