Uvicorn
- 基於 uvloop 和 httptools 構建的非常快速的 ASGI 服務器
- 它不是一個 Web 框架,而是一個服務器
- 例如,它不是一個提供路徑路由的框架,這是 FastAPI 框架提供的東西
- 它是 Starlette 和 FastAPI 的推薦使用的服務器
總結
uvicorn 是運行 FastAPI 應用程序的主要 Web 服務器,uvicorn 和 Gunicorn 結合使用,擁有一個異步多進程服務器
什么是 ASGI、WSGI
https://www.cnblogs.com/poloyy/p/15291403.html
最簡單的 FastAPI 代碼
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"}
啟動 uvicorn
進到 py 文件所處目錄下的命令行運行
uvicorn main:app
能不能不用命令行方式運行呢,否則太不方便了
可以!
使用 uvicorn.run()
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} if __name__ == '__main__': uvicorn.run(app="2_get:app", host="127.0.0.1", port=8080, reload=True, debug=True)
- 這樣就不用敲命令行啦
- uvicorn 有什么命令行參數,run() 方法就有什么參數
uvicorn 常用參數
參數 | 作用 |
app | 運行的 py 文件:FastAPI 實例對象 |
host | 訪問url,默認 127.0.0.1 |
port | 訪問端口,默認 8080 |
reload | 熱更新,有內容修改自動重啟服務器 |
debug | 同 reload |
reload_dirs | 設置需要 reload 的目錄,List[str] 類型 |
log_level | 設置日志級別,默認 info |
用到什么再補吧,暫時只用上這么多