varnish+nginx+fastcgi+mysql架構
phpcn_u1582
phpcn_u1582 2017-05-16 17:26:46
0
3
671

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

phpcn_u1582
phpcn_u1582

全部回覆(3)
洪涛

這麼架構意義不大

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整合的協定多點,能幹更多的事兒,僅此而已。

过去多啦不再A梦

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

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

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

过去多啦不再A梦

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板