nginxサーバーを別のnginxの前に配置することについての質問に答えるには:いいえ、通常、そうする正当な理由はありません。この古いアドバイスは、特にmod_pythonがApachepreforkMPMで使用された場合のApacheからのものです。このセットアップでは、Djangoの各インスタンスはmod_python / Apacheコンテナー内で個別のプロセスとして実行され、これは大量のRAMを使用します。アイデアは、nginxのような軽量のイベント駆動型HTTPサーバーを重いApacheプロセスの前に配置することにより、静的ファイルの提供をApacheから遠ざけることでした。これによりRAMが節約され、パフォーマンスが向上しました。すべてのリクエストにnginxのような軽量サーバーを使用する場合、これは問題ではありません。
nginxはURL書き換えを適切に処理します。書き換えモジュールを調べてください。
あなたの質問は、あなたが期待している負荷(接続/秒)、またはそもそもなぜnginxを使用したいのかについては述べていません。これがVPSサーバー上のブログまたは同様の低負荷セットアップの場合は、デーモンモードでmod_wsgiを使用してApacheを使用することを検討してください。これはFastCGIに非常に近いパフォーマンスとRAM使用量を持ち、mod_wsgiは最近Djangoをホストする公式に推奨される方法になりました。http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/を参照してください
。
一般的に、可能であればApache / mod_wsgiを使用することをお勧めします。これは、安定した柔軟な組み合わせです。Apache + mod_wsgiで問題なく動作するnginxを使用して、「時期尚早に最適化」していないことを確認してください。デーモンモードでのmod_wsgiのパフォーマンスの概要については、
http ://code.google.com/p/modwsgi/wiki/PerformanceEstimatesを参照してください。
nginxは素晴らしいですが、Djangoソリューションの場合、nginxは、多くのApacheインスタンスのロードバランサー、または静的ファイルの個別のサーバーとしてIMHOに適しています。これらの使用シナリオは両方とも、大きな負荷に対してのみ意味があります。