NginxでWSGI VS uWSGIを使用する場合の長所/短所を誰か説明してください。
現在、準備したDjango Webサイト用の本番サーバーを構築していますが、WSGIとuWSGIのどちらを使用するかを決定できません。それぞれの構成の違いについて詳しく説明していただけますか? どの構成が最適にスケーリングする必要がありますか?
前もって感謝します
Ok, guys this confusion is because of lack of detail from several sources, and the naming of these protocols, and what WSGI actually is.
Summary:
通常、PythonはメインのWebサーバーとは別のプロセスで実行するのが最適です。そうすれば、Webサーバーは静的コンテンツを非常に高速に提供する多数の小さなスレッドを持つことができますが、個別のPythonプロセスは大きくて重いものになり、それぞれが独自のPythonインタープリターを実行します。WSGI
大きなPythonインタープリターを使用すると、nginxスレッドのすべてが肥大化するため、プレーンは悪いです。動的コンテンツを提供するために起動する重いPythonスレッドの数の選択とは関係なく、nginxを解放してコンテンツを提供するだけでなく、実行する小さな軽いnginxスレッドの数を選択できるため、またはその背後を使用する方がはるかに優れflup
てgunicorn
いuWSGI
ます。現時点ではnginx
人々は非常に満足しているようですが、これら3つのオプションのいずれも問題なく機能するはずです。gunicorn
将来的には、負荷が深刻になり始めたときにPythonを別のサーバーに移動することもできます。
ここhttp://flask.pocoo.org/docs/deploying/uwsgi/は、混乱を解消するための良い答えだと思います。この質問はばかげているわけではありません.2つの用語を見て、mod_PHPの世界の外で物事がどのように機能するかについての事前情報を持っていない人なら誰にでも起こります(たとえば、phpや人々に対するものは何もありません)。
このサイトは、実際に何が必要で、何が違いなのか、nginx の適切な展開例を説明しています。
便宜上、Flask wiki からの説明をここに引用します。
uWSGI は、nginx、lighttpd、cherokee などのサーバーでの展開オプションです。その他のオプションについては、FastCGI およびスタンドアロン WSGI コンテナーを参照してください。uWSGI プロトコルで WSGI アプリケーションを使用するには、最初に uWSGI サーバーが必要です。uWSGI はプロトコルとアプリケーション サーバーの両方です。アプリケーション サーバーは、uWSGI、FastCGI、および HTTP プロトコルを提供できます。
最も一般的な uWSGI サーバーは uwsgi で、このガイドで使用します。先に進むために、必ずインストールしてください。