私はこの問題(このサイトのすべてのスレッドを含む)についてたくさん読みましたが、決定的な決定を下すことができませんでした。
非常に負荷の高いサイト(1日あたり数百万のユーザー)にとってより良いと考えられるもの(パフォーマンスとセキュリティの観点から):
私が得られないのは-Nginxが動的コンテンツを実行できるのなら、なぜApacheを使用するのですか?
HAProxyバランサーのペアの背後でnginx+php-fpm
を実行している20以上のWebサーバーがあります。私の意見では、そして私自身の経験から、これは最適な設定です。 Apacheから何も奪うことはありませんが(私は10年以上使用しています)、Nginxは単に靴下を吹き飛ばします。
HAProxyは最高のオープンソースロードバランサーです。限目。私は商用製品を含め、多くを試しました。 SSLをオフロードするために、ロードバランサーにもnginxをインストールしました。高負荷でもチャームのように機能します。
すべての静的コンテンツ(画像、css、jsなど)を分割してnginxを分離すると、パフォーマンスがさらに向上します。 HAProxyは、すべての静的リクエストを別のサーバーに送信できます。つまり、バックエンドシステムでの並列リクエストのメリットがあります。
HAProxy
を試す場合は、WebサーバーのMAXCONN
設定を低い値(40の20など)に保つことを忘れないでください。 Webサーバーのmaxconn設定が1000のように設定されている投稿が非常に多いので、HAProxyがすぐにノードをオーバーロードします。
Apache固有の機能を使用したい場合を除いて、Nginxの背後で使用しても意味がありません。