uvicorn 是一个 高性能的 Python Web 服务器,专门用于运行 FastAPI、Starlette、Django ASGI 等支持 异步(async) 的框架。
在 FastAPI 里,FastAPI 是框架,uvicorn 是负责运行它的引擎/发动机。
| 框架 | 推荐运行的服务器 |
|---|---|
| Flask / ThinkPHP / Laravel | WSGI:Gunicorn / Nginx+PHP-FPM |
| FastAPI / Starlette / Django3+ | ASGI:Uvicorn / Hypercorn |
uvicorn 做了什么?
-
启动你写的 FastAPI 应用(例如
app.main:app); -
监听 HTTP 请求(默认是
http://127.0.0.1:8000); -
支持异步处理、WebSocket、事件循环等;
-
高性能、轻量级,专为 ASGI 框架设计。
常用命令示例:
uvicorn app.main:app –reload
-
app.main:app表示:-
从
app/main.py文件中 -
找到名为
app的 FastAPI 实例
-
-
--reload表示自动重载(开发模式下用,代码修改会自动重启)
适合谁用?
-
FastAPI 开发者 ✅
-
Starlette 或其他 ASGI 框架用户 ✅
-
希望用 WebSocket、异步处理的开发者 ✅