あなたの経験に基づいて、LighttpdとNginxのどちらがDjangoに適していますか?私は両方を使用しましたが、まったく違いに気づくことはほとんどなく、それらは正常に動作します...どちらかが他方よりもはるかにうまく機能するユースケースはありますか?答えるときは、構成の単純さと効率の両方を考慮してください。
私の通常の設定では、daemontoolsまたは./manage.py runfcgi daemonize=false port=8098 Host=127.0.0.1
スクリプトと逆プロキシとして機能するlighty/nginxを介して起動される個別のDjango FCGIプロセス(init.d
など)を使用します。
ああ、そして他のhttpサーバーがLightyやNginxよりもDjangoの方がはるかに優れていると感じた場合は、遠慮なくご意見をお聞かせください。
NginxとLighttpdは、DjangoやRailsなどのリバースプロキシとして使用する場合、Apacheよりも優れた選択肢です。どちらもFastCGIとHttpプロキシをサポートしています。どちらも、リソースを効率的に使用するための単一スレッドのselect()(またはそれ以上)ベースのモデルを提供します。
しかし私の投票はNginxに行きます、それは非常にアクティブなユーザーベースを持っています(それは現在Ruby on Rails set)の最愛の人であり、活発に開発中です) 。Lighttpdは2年以上死んでいると誤解される可能性があり、まだ1.5のベータ版を待っています。
mod_wsgiは、Djangoアプリケーションを本番環境に導入するための推奨される方法です。Apacheのmod_wsgiはnginxよりもはるかに優れています。nginxのmod_wsgiの公式パッケージ(現在のLinuxディストリビューションでは)が見つからないため、コンパイルする必要があります私はnginxが好きですが、安全にプレイしたい場合は、Apache mod_wsgiでプレイしてください。
mod-wsgiは本番環境でDjango=アプリを実行するための最良の方法です。fastcgiよりも手間がかからず、起動時間などの問題もありません。
実際のmod-wsgiはApache用ですが、nginx用の別のmod-wsgiもあります。 Apacheは素晴らしいです。nginxについてはコメントできません。
個人的には、私はlighttpdから離れています。 nginxの安定性はありませんが、メモリリークのないlighttpdのケースはまだ見ていません。
基本的に、私の最初の選択肢はApache 2.2、2番目の選択肢はnginxです。
応答時間とスケーラビリティに関する誇大宣伝を信じないでください。真実は、それは問題ではありません。 (GoogleはApacheを使用しています)。
また、Google App Engineの使用を検討してください。 Djangoプロジェクトを無料でホストでき、サーバーインフラストラクチャの維持について心配する必要はありません。