Django を Uvicorn とともに使う

Uvicornuvloophttptools をベースにした速度重視のASGIサーバーです。

Uvicorn のインストール

pip で Uvicorn をインストールします:

python -m pip install uvicorn

Uvicorn で Django を実行

Uvicornがインストールされると、ASGIアプリケーションを実行する uvicorn コマンドが利用できるようになります。Uvicornを呼び出すには、ASGIアプリケーションオブジェクトを含むモジュールの場所と、それに続いてアプリケーションの名前(コロン区切り)を指定する必要があります。

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

python -m uvicorn myproject.asgi:application

このコマンドは 127.0.0.1:8000 を待ち受けるプロセスを1つ起動します。プロジェクトは Python のパス上にある必要があります。それを確実にするために、 manage.py ファイルと同じディレクトリからこのコマンドを実行してください。

開発モードでは、 --reload を追加することで、ディスク上のファイルが変更されるたびにサーバをリロードできます。

より高度な使い方は Uvicorn documentation を参照してください。

UvicornとGunicornを使ってDjangoをデプロイする

Gunicorn は、プロセス監視と自動再起動を実装した堅牢なウェブサーバーです。本番環境でUvicornを運用する際に役立ちます。

UvicornとGunicornをインストールするには、次のコマンドを実行します:

python -m pip install uvicorn uvicorn-worker gunicorn

Uvicornのworkerクラスを使ってGunicornを起動します:

python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker
Back to Top