Ответ
В экосистеме Python для запуска ASGI-приложений (таких как FastAPI, Starlette, Django 3+) используются несколько популярных серверов:
-
Uvicorn Высокопроизводительный сервер, основанный на
uvloopиhttptools. Считается стандартом для разработки с фреймворками FastAPI и Starlette благодаря своей скорости и простоте.# Запуск для разработки с автоперезагрузкой uvicorn main:app --reload -
Hypercorn Гибкий сервер с поддержкой HTTP/2, HTTP/3 и альтернативных event loop, таких как Trio. Подходит для более сложных сценариев, требующих современных протоколов.
hypercorn main:app -
Daphne Официальный сервер для Django Channels, изначально созданный для надежной поддержки WebSocket и других долгоживущих соединений.
daphne myproject.asgi:application -
Связка Gunicorn + Uvicorn Это не отдельный сервер, а популярная production-конфигурация.
Gunicornвыступает в роли менеджера процессов (worker manager), запуская и контролируя несколькоUvicornпроцессов для обеспечения масштабируемости и отказоустойчивости.# Gunicorn управляет воркерами класса UvicornWorker gunicorn -k uvicorn.workers.UvicornWorker main:app