Heim > Fragen und Antworten > Hauptteil
Viele Leute im Internet sagen, dass, wenn Lack und Nginx gepaart sind, Lack vorne und Nginx hinten ist. Dann möchte ich fragen, ob Nginx vorne ist, dann fungiert Nginx als Reverse-Proxy ruft Lack fastcgi auf? Der Grund, warum ich den Lack vorne platzieren möchte, besteht hauptsächlich darin, dass der Lack einige statische Seiten, Bilder und andere Ressourcen zwischenspeichern kann und Nginx verwendet wird, um mit fastcgi übereinzustimmen.
Frage 2: Was kann Varnish neben dem Zwischenspeichern von statischem HTML, JS, CSS, Bildern und anderen Ressourcen noch zwischenspeichern? Dynamische Seiten sollten nicht zwischengespeichert werden, oder?
Frage 3: Experten, bitte kommen Sie zurück. Was ist der Unterschied zwischen „Lack zuerst“ und „Nginx zuerst“?
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整合的协议多点,能干更多的事儿,仅此而已。
过去多啦不再A梦2017-05-16 17:28:46
网站的人气不行,经常出现错误,也没人管
我之前想回复,打完字竟然发现提交不了,也不知道是怎么回事情导致的。
好了,现在回答你的问题。你提到的问题,我在生产环境中使用过。
nginx在最前面,负责分流:静态资源转发到varnish上,动态请求转发到php-fpm机器上。
动态页面是否需要缓存,要看业务和性能的要求了。使用varnish缓存指定的动态页面是可以的。
过去多啦不再A梦2017-05-16 17:28:46
varnish前面放nginx是为了做负载均衡,后面放nginx是做web 服务器,varnish当然不能作为web服务器去直接跟PHP打交道了