Nginx

Nginx清漆 Nginx Django?

  • February 11, 2011

我有一個 django 應用程序,我想在它前面的伺服器上設置 Varnish。在另一個 serverfault 執行緒中,有人建議將 Nginx 放在 Varnish 前面。

我應該把 Nginx 放在記憶體伺服器上的 Varnish 前面嗎?如果是這樣,我應該在應用伺服器上使用 Nginx 嗎?

我們說的是總共 1 到 3 台前端伺服器,而不是在層之間進行負載平衡的大型伺服器場?

將 nginx 放在 Vanish 前面可以讓您即時進行 HTTP 壓縮。這是性能最佳實踐,但可以省略。(Varnish 中的內容通常保持未壓縮,因此 ESI Includes 工作,因此您不必根據 Vary 標頭/瀏覽器匹配來處理同一對象的多個記憶體版本。)

關於應用伺服器上的 nginx —— Apache 與 mod_wsgi現在不是推薦和最常見的部署新 Django 安裝的方法嗎?我不知道在 Django 中使用 nginx/fastcgi 而不是 Apache/mod_wsgi 的令人信服的理由;但你應該從 Django 專家那裡得到建議。

關於 Varnish 具有 nginx 所沒有的有吸引力的負載平衡功能,我不明白它們是什麼?Varnish 具有隨機和循環平衡。nginx 具有循環、客戶端 IP 和一致的散列——我沒有看到 Varnish 有顯著的好處?是 VCL 或 Varnish 的優雅配置重新載入還是其他?

對於小型 1-3 伺服器設置,我想我會這樣做

清漆 –> Apache / mod_wsgi / Django

或許

魷魚 –> Apache / mod_wsgi / Django

並且為了簡單起見忽略 HTTP 壓縮,除非頻寬很昂貴。

更新:

Graham Dumpleton 在下面寫了一條有價值的評論。他提到了一個非常常見的設置,例如 VPS 上的部落格或沒有記憶體的小型網路農場:

nginx –> Apache / mod_wsgi / Django

這是一個非常好的解決方案,原因如下:

  1. 簡單的設置
  2. nginx 具有高速和最小成本,處理靜態文件服務和瀏覽器連接保持活動。
  3. Django 執行在 Graham Dumpleton 的優秀 mod_wsgi 中,這是 Django 的推薦平台。

我最初沒有提到這一點的原因是 OP 似乎需要 Varnish,這是一種非常高性能的記憶體解決方案。nginx / Apache / mod_wsgi 組合無法以與 Varnish 相匹配的性能和靈活性水平進行記憶體。

引用自:https://serverfault.com/questions/81663