Как использовать 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»
Развертывание Django с использованием Uvicorn и Gunicorn¶
Gunicorn — это надежный веб-сервер, реализующий мониторинг процессов и автоматические перезапуски. Это может быть полезно при запуске Uvicorn в продакшене.
Для установки Uvicorn и Gunicorn выполните следующее:
python -m pip install uvicorn uvicorn-worker gunicorn
Затем запустите Gunicorn, используя рабочий класс Uvicorn, как показано ниже:
python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker