37

gunicorn で django アプリケーションを実行するには、次の 3 つの方法があります。

  1. 標準gunicorn+ wsgi( ref django doc )

    gunicorn project.wsgi:application

  2. gunicorn django 統合の使用 (参照gunicorn docおよびdjango doc ):

    python manage.py run_gunicorn

  3. コマンドの使用gunicorn_django(ref gunicorn doc )

    gunicorn_django [OPTIONS] [SETTINGS_PATH]

Django のドキュメントでは、Gunicorn のドキュメントではオプションとしてリストされていない 1. の使用が推奨されています。

gunicorn を使用して django アプリを実行するための最良の方法はありますか?また、これらのさまざまなソリューションの予見可能な利点/欠点は何ですか?

gunicorn のコードを垣間見ると、ほとんどすべて同じことをしているように見えます: 2. django の内部構造を使用して wsgi アプリを作成しているようで、3. 2.

だとすれば、単純に「1」を使わない理由が分からない。特にwsgi.pydjango 1.4以降、ファイルが自動作成されるためです。それが本当なら、単にドキュメントの改善を提案する必要があります...

また、django での gunicorn 設定のベスト プラクティスは素晴らしいでしょう。1.を使用して、wsgiファイルにいくつかのデフォルトを設定し、追加の設定を避けることは理にかなっていますか?

参考文献:

  1. django-gunicorn 統合または wsgi を使用する必要がありますか? 選択肢1.と3.のみに関係し、設定のヒントはなく、答えには根拠がありません
  2. Gunicorn と nginxを使用して Django をデプロイすると、より広範な情報が得られますが、厳密には関連しておらず、この質問にも答えていません
  3. バージョン「4」に関するDjango Gunicorn wsgigunicorn -c configfileが起動し、configfile が django への django_settings を指すようになります
  4. Django WSGI と Gunicornは少し混乱します :) 1. と 3. を混同しています。もちろん、wsgi.pyは 1. でのみ使用されます。
4

3 に答える 3

3

使用するのが一番だと思いrun_gunicornますが、それは最も簡単な使用方法でもあります。

基本的には usign と同じですが、django がコマンドを認識できるようgunicorn project.wsgi:applicationに gunicorn を追加する必要があるため、おそらくデフォルトの方法ではありません...INSTALLED_APPSrun_gunicorn

ドキュメントにもここに記載されているように、使用gunicorn_djangoは多かれ少なかれ非推奨です...

于 2013-05-31T14:16:36.970 に答える