HerokuにDjangoアプリにGunicornをインストールすることの利点は何ですか?
質問
私は最近、私が開発しているWebアプリのためにDjangoに切り替えました、そして私はでの指示に従いました ヘロク Herokuで実行されているDjangoアプリを取得するため。アプリが開発される仮想環境があり、バージョンコントロールとHerokuへのプッシュにGitを使用しています。上記のリンクは、私がgunicornに触れることを示唆しています:
上記の例では、DjangoのデフォルトのHTTPサーバーを使用しました。制作アプリの場合、Tornado、GeventのWSGIサーバー、Gunicornなど、より生産対応の組み込みWebサーバーを使用することをお勧めします。
その後、ユーザーがグリニコーンをインストールするように歩きます。
私の質問は、このステップをスキップしてデフォルトにとどまると、どのような問題に遭遇する可能性がありますか? Gunicornは私にどのような利点を与えますか?
解決
Gunicornは生産準備が整っており、非常に使いやすいです。私はそれを自分のウェブサイトに使用します。通常、nginxのような逆プロキシを介して実行する必要があります。 Herokuが何を使用しているのかわかりません。あなたは本当にそれを試すべきです。
私の経験では、Apache&Mod_WSGI、および他の同様のセットアップよりも使用および構成がはるかに簡単です。
編集/更新:以下のコメントの要約として、HerokuはすでにNginxを逆プロキシとして使用しています
他のヒント
はるかに優れたパフォーマンス、そしておそらくより良いセキュリティと安定性もあります。 Djangoの開発Webサーバー(デフォルトでHerokuが使用する)は、実際に生産アプリケーションを提供するように設計されていません。
Djangoのサーバーは開発サーバーです。軽量で使いやすいですが、生産準備ができていないため、生産に使用しないでください。多くのリクエストを処理することはできません。これ リンク Gunicorn、UWSGI、Djangoの開発サーバーの比較を提供します。