Gunicorn で Django を使う方法

revision-up-to:17812 (1.4)

Gunicorn (Green Unicorn) は UNIX 向けのピュア Python 製 WSGI サーバです。他の ライブラリへの依存関係がなく、簡単にインストールして使うことができます。

Gunicorn で Django を使う方法は 2 通りあります。 1 つは Gunicorn に Django を 単なる 1 つの WSGI アプリケーションとして扱わせる方法です。もう 1 つは Gunicorn に特別に用意された Django インテグレーション機能 を使う方法です。

Gunicorn のインストール

Gunicorn のインストールは sudo pip install gunicorn だけで済みます。もっと 詳しいことが知りたければ Gunicorn ドキュメント を参照してください。

Gunicorn で Django を一般的な WSGI アプリケーションとして動かす

Gunicorn をインストールすると、 gunicorn コマンドで Gunicorn のサーバプロ セスを起動できるようになります。もっともシンプルな方法では、 Gunicorn は WSGI アプリケーションオブジェクトの場所を指定するだけで起動できます:

gunicorn [OPTIONS] APP_MODULE

ここで APP_MODULEモジュール名:変数名 というパターンになります。モ ジュール名はドット区切りのフルパスでなければなりません。変数名はモジュールの中 で探されるべき WSGI 呼び出し可能オブジェクトを指します。

典型的な Django プロジェクトでは、 Gunicorn の起動は次のようになります:

gunicorn myproject.wsgi:application

(このためにはプロジェクトが Python パス上にあることが必要です。それを確実にす るもっとも簡単な方法は、 manage.py ファイルがあるのと同じディレクトリでこ のコマンドを実行することです。)

Gunicorn の Django インテグレーション機能を使う

Gunicorn に組み込まれた Django インテグレーション機能を使うには、まず "gunicorn"INSTALLED_APPS に追加します。そして python manage.py run_gunicorn を実行します。

この方法は Django 向けの素敵な特徴を提供します:

  • Gunicorn のプロセス名にプロジェクト名をセットします
  • インストールされたモデルを検証します
  • admin のメディアファイルの場所を渡す --adminmedia オプションが使えます。 これは runserver の動作をまねします。

Gunicorn の デプロイドキュメント を読むと、 Gunicorn サーバを起動し、維持す るためのさらなるヒントが得られます。