Varnishでのnginxの使用について多くの話があり、その理由がわかりません。 nginxは十分ではありませんか?
NginxにはSSIがあり、リバースプロキシキャッシュがあり、軽量で、SSLがあり、cgi、fpmなどで動作します。
Varnishは同じものを持っていますが、sslもcgiもサポートしていません。
小さな静的ファイルの場合、nginxよりもワニスが最大5%速いことがわかりました。Apacheの前のワニス、またはWebアプリケーションサーバーの前のワニスは大きな利益になります。しかし、nginxの前では、メリットはごくわずかです(特に、オーバーヘッドと余分な複雑さを考慮に入れると)
まず、明確にする必要があります。Nginxは、すべての機能と複雑さを伴うWebサーバーです。また、キャッシング機能もありますが、これは主な設計目標ではありません。
Varnishはnot Webサーバーです。それはその役割を果たすことはできません(とにかく本当に邪悪なVCLがないわけではありません)。その役割は、別のサーバーによって提供されるコンテンツをキャッシュすることです。必要に応じて、要求または応答を変更できます。
Nginxがトラフィックを処理できる場合は、それで十分です。 nginxが追いつけない場合、容量を増やす1つの方法は、その前にキャッシュを配置し、キャッシュにできるだけ多くの要求を処理させることです。
例として、Apacheを使用して、Webサーバーのクラスターから比較的複雑なPHP Webサイトをいくつか実行します。容量の問題が発生し始めたとき、2台のVarnishサーバーをApacheクラスターVarnishホストは、Apacheバックエンドを気にすることなく、すべての着信要求の85%を処理します。