區分uWSGI和WSGI:
在python web開發中,經常使用uwsgi配合nginx部署一個web框架,如Django或者flask,框架和服務器之間要符合wsgi協議
web服務器和web框架
web服務器用來接收客戶端請求,建立連接,轉發響應,至於轉發的內容,交由web框架來處理,即Django或者flask處理業務邏輯,如查詢數據庫,生成實時信息。Nginx就是一個web服務器,django或者flask就是web框架
uWSGI和WSGI:
如何做到任意一個web服務器,都能搭配任意一個web框架,這就需要WSGI協議,只要服務器和web框架都滿足WSGI協議,他們就能相互搭配。所以WSGI只是一種協議,一種約定,一種標准,就像U盤的插頭形狀,和電腦USB接口的形狀一樣,他們都滿足這一種標准,所以他們能建立聯系,實現對文件的操作。而uWSGI就是滿足WSGI協議的一種服務器,用來接收客戶端的請求,轉發響應的程序。
實際上,uWSGI服務器 + Django框架,就可以實現網站的功能了,但一旦客戶端訪問量過大,客戶端請求連接就需要長時間的等待,這種模式就無法滿足需求了,分布式服務器此時應運而生,而nginx就是分布式服務器的一大利器,我們可以多用幾台服務器來分別處理請求,nginx就相當於管家一樣分配客戶端請求連接和web服務器,這就是用nginx來實現反向代理,及代理服務器。