Php

負載均衡:Nginx、Varnish 和 HTTP 會話

  • April 19, 2011

我必須設置一個負載平衡系統。目前我有兩台機器執行 Nginx 0.8.52、PHP-FPM(在 unix 套接字上)和一個基於 PHP Symfony 1.4.11 的應用程序。

在第三台機器上,我必須選擇要安裝的平衡器。

我已經使用 Varnish 進行靜態文件記憶體,但我不知道 Varnish 負載平衡是否可以處理 Symfony PHP 會話。另一種選擇是使用 ip_hash 進行 Nginx 負載平衡。

哪一個是最好的?

提前致謝

為什麼不兼得?把 NginX 放在前面來處理 gzip 壓縮,把 SSL 和 Varnish 放在後面來處理記憶體和負載平衡。正如 Kristaps 所建議的那樣,後端應用程序將需要在 DB 或 Memcache 上進行一些會話共享,並且 Varnish 不會記憶體任何使用 Cookie 或身份驗證提供的動態內容,但其他所有內容都可以。

推薦的設置是為您創建一個單獨的靜態主機名(例如static.example.com並從那裡提供所有靜態內容,沒有任何 cookie(Varnish 會很好地記憶體它,因為沒有 cookie),另一個用於動態內容可以由 NginX 或 Varnish 進行負載平衡,使用 cookie 進行會話處理,所有後端共享會話資訊,如上所述。

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