WSGI
WSGI是一種WEB服務器==網關接口==。 是一個Web服務器(如nginx)與應用服務器(如uWSGI)通信的一種規範(協議)。
在生產環境中使用WSGI作爲python web的服務器。Python Web服務器網關接口,是Python應用程序或框架和Web服務器之間的一種接口,被廣泛接受。WSGI沒有官方的實現, 因爲WSGI更像一個協議,只要遵照這些協議,WSGI應用(Application)都可以在任何服務器(Server)上運行。
uWSGI
uWSGI實現了WSGI的所有接口,是一個快速、自我修復、開發人員和系統管理員友好的服務器。uWSGI代碼完全用C編寫,效率高、性能穩定。
uwsgi是一種線路協議而不是通信協議,在此常用於在uWSGI服務器與其他網絡服務器的數據通信。uwsgi協議是一個uWSGI服務器自有的協議,它用於定義傳輸信息的類型。
作用
Django 是一個 Web 框架,框架的作用在於處理 request 和 reponse,其他的不是框架所關心的內容。所以怎麼部署 Django 不是 Django 所需要關心的。
Django 所提供的是一個開發服務器,這個開發服務器,沒有經過安全測試,而且使用的是 Python 自帶的 simple HTTPServer 創建的,在安全性和效率上都是不行的
而uWSGI 是一個全功能的 HTTP 服務器,他要做的就是把 HTTP 協議轉化成語言支持的網絡協議。比如把 HTTP 協議轉化成 WSGI 協議,讓 Python 可以直接使用。
uwsgi 是一種 uWSGI 的內部協議,使用二進制方式和其他應用程序進行通信。