Как использовать Django с Uvicorn

Uvicorn - это ASGI-сервер, основанный на uvloop и httptools, с акцентом на скорость.

Установка Uvicorn

Вы можете установить Uvicorn с помощью pip:

python -m pip install uvicorn

Запуск Django в Uvicorn

Когда Uvicorn установлен, доступна команда uvicorn, которая запускает ASGI-приложения. Uvicorn нужно вызвать, указав местоположение модуля, содержащего объект ASGI-приложения, а затем то, как называется приложение (разделенное двоеточием).

Для типичного проекта Django вызов Uvicorn будет выглядеть следующим образом:

python -m uvicorn myproject.asgi:application

Это запустит один процесс, слушающий на 127.0.0.1:8000. Это требует, чтобы ваш проект находился на пути Python; чтобы убедиться в этом, запустите эту команду из того же каталога, что и ваш файл manage.py.

В режиме разработки вы можете добавить --reload, чтобы заставить сервер перезагружаться каждый раз, когда файл изменяется на диске.

Для более продвинутого использования, пожалуйста, прочитайте Uvicorn documentation.

Deploying Django using Uvicorn and Gunicorn

Gunicorn - это надежный веб-сервер, в котором реализован мониторинг процессов и автоматический перезапуск. Это может быть полезно при работе Uvicorn в производственной среде.

Чтобы установить Uvicorn и Gunicorn, используйте следующее:

python -m pip install uvicorn gunicorn

Затем запустите Gunicorn, используя рабочий класс Uvicorn, следующим образом:

python -m gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker
Вернуться на верх