誰かがNginXをApacheのリバースプロキシとして持つことの利点を教えてもらえますか?静的コンテンツがnginxによって処理され、動的コンテンツ(phpファイル)がApacheに渡されるように人々はそれを提案します。
Php-fcgi/php-fpmにそれらのPHPファイルを直接処理させることは、Apacheのmod_phpに処理させることよりもはるかに合理的ではないでしょうか?
利点は何ですか(パフォーマンスに関して)
リバースプロキシを選択した場合、nginxの書き換えを行う必要がありますか、それともApacheからの.htaccessはそのまま機能しますか? (逆プロキシであるため、呼び出しはApacheに転送されますよね?)
事前にTY
リバースプロキシは遅く、一般的に悪いですが、それを使用するいくつかの理由は、.htaccessファイルとの(いくつかの)互換性を維持するためです(純粋なnginxセットアップを使用する場合は書き込む必要があります(常に実用的ではありません))または、特定のApacheモジュールが必要な場合。 (あなたはこれらの要件があると主張する人もいます、Apacheを使う方が簡単です。)
可能であれば、nginx + PHP-FPMのストレートセットアップを使用してください。できない場合は、リバースプロキシにメリットがあるかもしれませんが、特に.htaccessファイルに依存している場合は、その影響についてよく考えてください。
それは逆だと思います。Apacheをミックスから除外すると、パフォーマンスが向上します。 Apacheが提供する他のモジュールが好きな場合、または動的コンテンツにApacheを使用し続ける外部の理由がある場合は、Apacheをそのまま使用します。
静的コンテンツへのアクセスに対して何もしない限り、Apacheに書き換えを処理させることは問題ありません。ただし、nginxconfで.ht*
を除外するようにしてください。これらの特定の静的ファイルを誤って一般に提供したくない場合。
最近、Apache
からNginx
に移動しました。私は専門家であるとは主張していませんが、Apacheを削除し、リバースプロキシの代わりにnginx
をPHP-FPM
とともに使用することをお勧めします。 ApacheなしでNginxを使用すると、非静的コンテンツのパフォーマンスがわずかに向上し、静的コンテンツのパフォーマンスが大幅に向上します。 Nginxは.htaccess
ファイルを使用しないため、これは、すべてのリダイレクトなどを処理するようにNginxを構成する必要があることを意味します。最初は少し気が遠くなるように思えるかもしれませんが、Nginxの構成方法を学んだら、実際には.htaccessファイルを使用するよりもはるかに単純で簡単であることがわかりました。 .htaccessルールをNginxルールに自動的に変換するツールがありますが、代わりに自分で行う方法を学ぶことをお勧めします。ツールが十分に正確に変換せず、使用するif
ステートメントが多すぎることがわかりました。参照: If Is Evil 。