web-dev-qa-db-ja.com

NginxをApacheへのリバースプロキシまたはスタンドアロンとして使用する

私はこの問題(このサイトのすべてのスレッドを含む)についてたくさん読みましたが、決定的な決定を下すことができませんでした。

非常に負荷の高いサイト(1日あたり数百万のユーザー)にとってより良いと考えられるもの(パフォーマンスとセキュリティの観点から):

  1. スタンドアロンNginx + PHP + SQL
  2. ApacheのリバースプロキシとしてのNginx + PHP + SQL

私が得られないのは-Nginxが動的コンテンツを実行できるのなら、なぜApacheを使用するのですか?

3
Danny Valariola

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がすぐにノードをオーバーロードします。

5
gmck

Apache固有の機能を使用したい場合を除いて、Nginxの背後で使用しても意味がありません。

0
c2h5oh