WSGI uWSGI uwsgi三兄弟

WSGI,uwsgi,uWSGI 執行流程

在這裏插入圖片描述
用戶發送請求到服務器(nginx)然後服務器根據配置的代理ip請求代理服務器(uWSGI)然後代理服務器根據WSGI協議發送請求到Django框架或Flask框架等。再有框架去請求數據庫或redis拿到數據進行返回。
流程大體是這樣子。
當一個用戶發送請求的時候比如說請求網址www.huya.com通過http協議到達nginx服務器,在服務器配置的負載均衡回去請求A代理服務器,如果A請求不通再去請求B然後。請求uWSGI服務器是需要和nginx商量好兩端的協議使用什麼,這就是服務器去請求服務端。然後uWSGI服務器帶着WSGI協議去請求應用程序。要注意的是uWSGI並不是協議而是一個服務器,他是發送協議的。

WSGI

wsgi server (比如uWSGI服務器) 要和 wsgi application(比如django框架 )交互,uwsgi需要將過來的請求轉給django 處理,那麼uWSGI 和 django的交互和調用就需要一個統一的規範,這個規範就是WSGI WSGI(Web Server Gateway Interface)

WSGI,全稱 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是爲 Python 語言定義的 Web 服務器和 Web 應用程序或框架之間的一種簡單而通用的接口。自從 WSGI 被開發出來以後,許多其它語言中也出現了類似接口。

WSGI 的官方定義是,the Python Web Server Gateway Interface。從名字就可以看出來,這東西是一個Gateway,也就是網關。網關的作用就是在協議之間進行轉換。

WSGI 是作爲 Web 服務器與 Web 應用程序或應用框架之間的一種低級別的接口,以提升可移植 Web 應用開發的共同點。WSGI 是基於現存的 CGI 標準而設計的。

WSGI是Web 服務器(uWSGI)與 Web 應用程序或應用框架(Django)之間的一種低級別的接口

uWSGI

uWSGI是一個web服務器他實現了WSGI協議、uwsgi協議、http等協議。nginx中的HttpUwsgiModule的作用是和uWSGI服務器進行交互

uwsgi

uwsgi是服務器和服務端應用程序的一種協議,規定了怎麼把請求轉發給應用程序和返回; uwsgi是一種線路協議而不是通信協議,在此常用於在uWSGI服務器與其他網絡服務器的數據通信。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章