Apache-2.2

如何用 Varnish 安排 Web 伺服器?

  • September 21, 2012

我想知道對於繁忙的 php+mysql 應用程序來說,最好的(最穩定的記憶體佔用最少的)安排是什麼?

request  > Varnish > Apache
requests > Varnish > Nginx > php5-fpm
requests > Varnish > Nginx  > Apache
requests > Nginx > Varnish  > Apache
something else

感謝您對相關基準的提示或參考。謝謝

好吧,我不確定有人如何在不知情的情況下可靠地為您提供建議…

  1. 這是針對 1 個網站還是針對多個網站(轉售)?
  2. 完整的確切伺服器規範是什麼?
  3. 您的流量目標是什麼(點擊量、瀏覽量、頻寬承諾)?

我們給客戶的建議…

如果您需要轉售主機

Nginx > Apache > PHP-FPM

這樣可以為您的客戶提供 .htaccess 支持、PHP-FPM 的安全性(chroot/multiple php.inis)和 Nginx 的靜態文件性能。

如果只是為了你

Pound > Varnish > Nginx > PHP-FPM

這使您可以從 Pound 中解包 SSL,從 Varnish 中進行靜態和動態 (ESI) 記憶體,從 Nginx 中未記憶體的靜態內容以及來自 PHP-FPM 中的動態內容

如果你沒有真正的 Varnish 經驗

阿帕奇 > PHP-FPM

我們的典型架構是…

如果有幫助,對於 Web 集群,我們通常使用:

lvs (initial ssl load balancing)
   -> pound (ssl-unwrapping) 
   -> varnish (caching) 
   -> haproxy (load balancing) 
   -> nginx (static content) 
   -> php (dynamic content) 
   -> mysql (db)

事實是,如果您沒有正確設置 Varnish(記憶體的私人會話、取消設置不需要的 cookie),則使用 Varnish 可能造成的損害遠大於好處。這同樣適用於 Nginx。

閱讀這個http://www.sonassi.com/knowledge-base/magento-kb/mythbusting/why-shouldnt-i-use-nginx-for-magento/和這個Building an SSL server farm

我的最後建議是諮詢專業人士 - 它的錢花得值。

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