Как использовать Django с Uvicorn¶
Uvicorn - это ASGI-сервер, основанный на uvloop
и httptools
, с акцентом на скорость.
Запуск 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