12

Apache httpd がインストールされて実行されている現在のクラウド Cent OS サーバーに Nginx をインストールしようとしています。

私のホスティング会社は、Nginx と Apache の両方をポート 80 で同時に実行できると教えてくれました。そのため、Yum 経由でインストールした後、Wordpress サイトの .htaccess と Apache conf を Nginx に変換する計画でした。

私もこれについてグーグルで検索しましたが、Nginxをリバースプロキシとして使用して静的ファイルのみを提供することを提案する人もいますが、ApacheにはPHPが埋め込まれており、Nginxのような複数の同時リクエストをサポートしていなくてもメモリ消費が少ないため、PHPでApacheを実行します。

私の直感では、すべてをNginxに切り替えることは有益ですが、この段階では確信が持てません.

また、この切り替えを行う際に注意すべきことはありますか?

あなただったら、この状況でどうしますか?

4

3 に答える 3

14

ホスティング会社のコメントが何を意味するのかよくわかりませんが、ポート 80 で Apache と Nginx の両方を実行することはできません。一方がポート 80 にバインドされると、もう一方はそれにバインドできなくなります。

現在の状況でおそらく最適な構成は、Nginx をポート 80 に配置し、Apache を 8000 などに配置することです。

nginx を使用して静的ファイルを提供し ( 「if」は悪であるため、try_files を参照)、 HTTP プロキシ モジュールを使用して PHP のすべてのリクエストをポート 8000 にプロキシします。

Nginx を使用した PHP のその他の一般的な構成は、FastCGI 経由で PHP-FPM とプロキシを使用することです。

PHP-FPM/mod_php のパフォーマンスについては多くの議論がありますが、私の個人的な経験では、PHP-FPM の方がパフォーマンスが高いことがわかりました。

于 2012-12-30T15:25:31.817 に答える
11

ポート 80 で Web 向けサーバーとして nginx を使用し、別のポートで実行される apache へのプロキシ パスを使用します。多くのサイトがこの構成を実行しています。nginx を使用して静的ファイルを提供することは、apache を使用するよりもはるかに効率的です。実際には、思ったよりずっと簡単です。

こちらのドキュメントで詳しく説明しています。

于 2012-12-30T15:17:38.150 に答える
1

外部向けのWebサーバーをパブリックIPアドレスにバインドし、内部向けのWebサーバーをローカルホスト(127.0.0.1:80)にバインドする必要があります。

したがって、Nginxをパブリックに使用している場合は、それをパブリックIPアドレスにバインドし、ローカルホストでApacheにプロキシします。

デバッグを容易にするために、別々のポートを使用することをお勧めします。

于 2012-12-30T19:14:14.923 に答える