简介
FastAPI是一个可快速构建API服务的Web框架,可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic),是最快的 Python Web 框架之一。更多详情见官网FastAPI官网地址
本文对FastAPI的开发部署以及生产环境部署做一个记录。
开发部署
安装uvicorn
作为asgi应用服务器
pip install uvicorn
例:main.py
from fastapi import FastApi
app = FastApi()
@app.get('/hello')
async def hello():
return {
'message': 'hello World'}
nvicorn main:app --reload 开发模式下运行 热加载
如果是想在Pycharm等IDE中直接运行,可以在代码中加入
if __name__ == '__main__':
uvicorn.run("main:app", host="127.0.0.1", port=8000, log_level="info")
即可直接run运行,不需要使用命令行,但只适合用于开发环境。
生产环境部署
生产环境:CentOS7.x +Nginx
1.安装Gunicorn
Gunicorn 是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server,和大多数的Web框架兼容,并具有实现简单,轻量级,高性能等特点。
使用gunicorn启动应用程序的好处是,它可以处理大量的并发连接,,并且其使用的是预派生子进程的方式,这意味着它能够更好地利用多核CPU。
安装命令
pip install uvicorn
pip install gunicorn
Shell中执行gunicorn -v
有版本输出表示安装成功
2.以配置文件方式启动应用
创建gunicorn.py文件,里面包含下列内容
import os
# 设置守护进程
daemon=True<