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伺服器進行交換。
FastCgi協議, uwsgi協議, http協議有什麼用?
nginx 和 uWSGI互動就必須使用同一個協議,而上面說了uwsgi支援fastcgi,uwsgi,http協議,這些都是nginx支援的協議,只要大家溝通好使用哪個協議,就可以正常執行了。
uwsgi是伺服器和服務端應用程式的通訊協議,規定了怎麼把請求轉發給應用程式和返回