Djangoに最適なのはどれですか?LighttpdまたはNginx?それとも他の何か?[閉まっている]


18

LighttpdとNginxのどちらがあなたの経験に基づいて、Djangoにより適していますか?私は両方を使用しましたが、違いにほとんど気付かないことがあります、それらは正常に動作します...それらの一方が他方よりもはるかに優れた動作をするユースケースはありますか?答えるときは、構成の単純さと効率の両方を考慮してください。

私の通常の設定は、デーモンツール./manage.py runfcgi daemonize=false port=8098 host=127.0.0.1またはinit.dスクリプトを介して起動される別個のDjango FCGIプロセス(のような)と、逆プロキシとして機能するlighty / nginxを使用することです。

ああ、他のhttpサーバーがLightyやNginxよりもDjangoにとってはるかに優れていると感じたら、遠慮なく考えを共有してください。


fastcgiサービスが停止すると、daemontools superviseは5秒以内にサービスを再起動するため、サービスはバックアップされます。しかし、そこにはまだダウンタイムのわずかな遅れがあります。私の展開では、fastcgiは弱い圧力で予期せず停止することがわかりました。数回のダウンタイムとクライアントからの厄介な電話の呼び出しの後、NginxをApache mod_wsgiへのリバースプロキシに切り替えました。それ以来、すべてがハミングしています。

回答:


14

NginxとLighttpdは、DjangoやRailsなどのリバースプロキシとして使用する場合、Apacheよりも優れた選択肢です。どちらもFastCGIとHttpプロキシをサポートしています。どちらも、効率的なリソース使用のために、単一スレッドのselect()(またはそれ以上)ベースのモデルを提供します。

しかし、私の投票はNginxに送られ、非常にアクティブなユーザーベース(現在、Ruby on Railsセットの最愛の人)であり、活発に開発中です。Lighttpdは2年以上前に死んでいると誤解される可能性があり、まだ1.5のベータ版を待っています。


7

mod_wsgiは、Djangoアプリケーションを本番環境に移行するための推奨される方法です。Apacheのmod_wsgiは、nginxよりもはるかに優れています。nginxのmod_wsgiの公式パッケージ(現在のLinuxディストリビューションでは)が見つからないため、自分でコンパイルする必要があります。私はnginxが好きですが、安全にプレイしたい場合はApache mod_wsgiでプレイしてください。


2
Nginx mod_wsgiは使いたくないものです。Nginxは、静的コンテンツとApache mod_wsgiへのリバースプロキシを提供して、動的コンテンツを生成するのに最適です。動的ページの生成と静的コンテンツの提供の両方に非同期Webサーバーを使用したくないでしょう。Apache mod_wsgi自体はあまり意味がありません。あなたは、その獣が静的ファイルの周りにスプレーで忙しくなりたくないのに、重い持ち上げをするはずです。詳細はこちらb-list.org/weblog/2008/jun/23/media

5

mod-wsgiは、運用環境でdjangoアプリを実行するための最良の方法です。fastcgiほど手間がかからず、起動時間などの問題もありません。

実際のmod-wsgiはApache用ですが、nginx用の別のmod-wsgiがあります。Apacheの1つは素晴らしいです。nginxの1つについてコメントすることはできません。

個人的には、lighttpdには近づかないでしょう。nginxの安定性がありません。メモリリークのないlighttpdのケースはまだ見ていません。

基本的に、最初の選択肢はApache 2.2、2番目の選択肢はnginxです。

応答時間とスケーラビリティについての誇大広告を信じないでください。真実は、それは問題ではありません。(GoogleはApacheを使用します)。


Google はApacheではなくGWS(en.wikipedia.org/wiki/Google_Web_Server)を使用します。YahooはApacheを使用しますが、1.3の古いフォークです。
デイブチェイニー

YouTubeはlighttpdを使用しているか、少なくとも使用しているので、それほど悪いとは思いません。highscalability.com/youtube-architectureをご覧ください。
クリスチャン・シウピトゥ2009年

はい。ただし、GWSは秘密のプロジェクトですが、Apacheに基づいていることが知られています。

YTが言っていないのは、彼らが自分の軽いフォークを持っているということです。本当に軽いのはよく知られているメモリリークの問題です。私は彼らが今までにそれを修正したかもしれないと信じていますが、担当者は持続します。
アビシェークドゥジャリ

2

また、Google App Engineの使用を検討してください。Djangoプロジェクトを無料でホストでき、サーバーインフラストラクチャの維持について心配する必要はありません。


8
GAE上のDjangoには、Djangoのdatbase / ORM機能をサポートしていないなど、重大な制限があります。必要なものがサポートされている場合は、素晴らしい-しかし、慎重にチェックしてください!

MySQLはGAEでサポートされるようになったと思うので、ORMも同様になると思います。本当ですが、試してみた経験はありません。ORMのないDjangoは、トレントのないポルノのようなものです。
アビシェークドゥジャリ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.