私はnginx + fastcgi
いくつかの Django プロジェクトの本番環境で (manage.py runfcgi ...) を使用しています。多くの人が使用を提案していますnginx + gunicorn
。Djangoのサーバーを使用する代わりにgunicornを使用する利点は何ですか?fastcgi
2 に答える
WSGI のようなサーバーを使用する必要がある理由を説明しただけです :) しかし、fcgi の使用に慣れている場合は、そのまま使用してください。
簡単な答え: WSGI (プロトコルとして) はネイティブなのでクールです
または、「さらに深くする必要がある」場合(c)
次の質問「FastCGI 対 WSGI ライクなサーバー?」
ここにいくつかの答えがあります:
- Python に関する WSGI、CGI、FastCGI、および mod_python の違いと使用法は?
- scgi と wsgi の違いは何ですか?
- WSGI と FCGI に速度の違いはありますか?
- Python Web フレームワーク、WSGI、および CGI がどのように適合するか
ガンコーン、uWSGI、チェロキー、nginxについて。それらを混ぜないでください!
nginx は、http リクエストを処理して WSGI バックエンドに送信できる Web サーバーです。(しかし、まず第一に、静的コンテンツの処理が非常に高速です。)そして、WSGI バックエンドが django アプリケーションを処理します。
cherokee については、nginx と同じタスクを処理すると思いますが、私はそれを使用していません。
そして、gunicorn、uWSGI は、django アプリでスレッドを実行し、他の多くのタスクを実行する WSGI バックエンドです。
そしてうーん、ガンコーンはそれを言う
Unix ライクなプラットフォームでのみ実行されるサーバーである unicorn は、1 つのことを (できれば) うまく実行するという Unix の哲学に強く結びついています。HTTP を使用しているにもかかわらず、unicorn は厳密には Rack ベースのRuby アプリケーションを実行するためのバックエンド アプリケーション サーバーです。
私はdjangoアプリnginx(nginx.orgリポジトリの最新の安定版)+ uWSGI(Debianの安定版から)の練習をしています-完全に動作します:)
2012 年 5 月 18 日編集
fcgi gunicorn uWSGIを比較した 2010 年のトピックへのリンク
fcgi (スレッド) 640 r/s
fcgi (プリフォーク 4 プロセッサー) 240 r/s (*)
gunicorn (2 ワーカー) 1100 r/s
gunicorn (5 ワーカー) 1300 r/s
gunicorn (10 ワーカー) 1200 r/s (?!?)
uwsgi (2 ワーカー) 1800 r/s
uwsgi (5 ワーカー) 2100 r/s
uwsgi (10 ワーカー) 2300 r/s
(*これにより、屋根を通過すると、私のコンピューターはCPUとして非常に遅くなりました)
b1- が言うように、WSGI はネイティブです (この投稿を見てください)。
また、この投稿には同様の質問があります。
私の個人的な観点からは、しばらく前に、Nginx + uwsg を vhost モードで使用して、サーバー上でさまざまなプロジェクトを実行していました。