인터넷에서 많은 사람들은 varnish와 nginx가 짝을 이루면 varnish가 앞에 있고 nginx가 뒤에 있다고 말합니다. 그렇다면 nginx가 앞에 있으면 nginx가 역방향 프록시 역할을 하고 그러면 묻고 싶습니다. 바니시는 fastcgi를 호출합니까? 내가 varnish를 앞에 두려는 이유는 주로 varnish가 일부 정적 페이지, 그림 및 기타 리소스를 캐시하도록 하기 위한 것이며 nginx는 fastcgi와 일치하는 데 사용됩니다.
질문 2: 정적 HTML, js, css, 이미지 및 기타 리소스를 캐싱하는 것 외에 Varnish에서 캐시할 수 있는 다른 항목은 무엇입니까? 동적 페이지는 캐시되어서는 안 됩니다. 그렇죠?
질문 3: 전문가 여러분, 다시 말씀해 주세요. varnish first와 nginx first의 차이점은 무엇인가요?
PHP中文网2017-05-16 17:28:46
그런 구조는 별로 의미가 없습니다
1) 바니시를 제거하고 nginx를 캐시 + fastcgi 클라이언트로 직접 구성합니다(php-fpm 뒤는 fastcgi 서버입니다)
2) 로드 밸런싱을 위해 두 개의 haproxy 또는 lvs를 앞에 두고 하트비트 상호 연결을 하나 뒷면 순위 nginx
3) Varnish와 nginx는 모두 html 캐시입니다. 동적 페이지도 캐시될 수 있습니다. 페이지의 동적 콘텐츠는 ajax를 통해 캐시됩니다.
4) 동적 페이지는 캐시됩니다. 데이터 수준에서 더 많은 캐싱(예: memcached 및 redis
5) Varnish는 http 캐싱만 수행하며 nginx는 많은 프로토콜을 통합하고 더 많은 작업을 수행할 수 있습니다. 그게 전부입니다.
过去多啦不再A梦2017-05-16 17:28:46
웹사이트가 인기가 없고, 오류가 자주 발생하며, 아무도 관심을 두지 않습니다
이전에 답글을 달고 싶었지만 입력한 후에는 제출할 수 없다는 것을 알게 되었습니다.
좋아요, 이제 질문에 대답하겠습니다. 말씀하신 문제를 프로덕션 환경에서 사용해봤습니다.
nginx는 최전선에 있으며 트래픽 전환을 담당합니다. 정적 리소스는 varnish로 전달되고 동적 요청은 php-fpm 시스템으로 전달됩니다.
동적 페이지를 캐시해야 하는지 여부는 비즈니스 및 성능 요구 사항에 따라 다릅니다. 지정된 동적 페이지를 캐시하기 위해 바니시를 사용할 수 있습니다.
过去多啦不再A梦2017-05-16 17:28:46
varnish 앞에 nginx를 배치하는 것은 로드 밸런싱을 위한 것이고 nginx를 뒤에 배치하는 것은 웹 서버를 위한 것입니다. 물론 varnish를 PHP를 직접 처리하는 웹 서버로 사용할 수는 없습니다