首頁  >  問答  >  主體

varnish+nginx+fastcgi+mysql架構

網路上很多都說varnish和nginx搭配的時候,都是varnish在前面,nginx在後面,那我想問,如果nginx在前面的話,那nginx做反向代理,那難道varnish去調用fastcgi嗎?我之所以想把varnish放到最前面,主要讓varnish快取一些靜態頁面,圖片以及其他的一些資源,而nginx就用來搭配fastcgi的。
問題二:varnish除了快取靜態html,js,css,圖片等資源,還可以快取什麼?動態頁面應該不會去快取的才對吧
問題三:請高手們回到下,varnish在前或nginx在前的差異是什麼?

phpcn_u1582phpcn_u15822712 天前606

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-05-16 17:28:46

    這麼架構意義不大

    1)去掉varnish,直接配置nginx作為緩存+fastcgi client (後面的php-fpm是fastcgi server)
    2)要負載均衡前面放兩台haproxy或lvs,心跳互聯,後面放一排nginx
    3)varnish和nginx都是html緩存,動態頁面也可以緩存,緩存他們生成的html,頁面內動態內容走ajax
    4)對動態頁面更多的是數據級別的緩存,比如memcached和redis
    5)varnish只幹http快取這事兒,nginx整合的協定多點,能幹更多的事兒,僅此而已。

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:28:46

    網站的人氣不行,常出現錯誤,也沒人管
    我之前想回复,打完字竟然發現提交不了,也不知道是怎麼回事情導致的。

    好了,現在回答你的問題。你提到的問題,我在生產環境中使用過。
    nginx在最前面,負責分流:靜態資源轉送到varnish上,動態請求轉送到php-fpm機器上。

    動態頁面是否需要緩存,要看業務和效能的要求了。使用varnish快取指定的動態頁面是可以的。

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:28:46

    varnish前面放nginx是為了做負載均衡,後面放nginx是做web 伺服器,varnish當然不能作為web伺服器去直接跟PHP打交道了

    回覆
    0
  • 取消回覆