FastAPI宝塔部署
环境
- centos7
- 宝塔(部署nginx)
命令行操作
上传文件(www/wwwroot/demo1下)
# idnex.py from fastapi import FastAPI app = FastAPI() @app.get("/") async def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") async def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}
命令行安装
- fastapi
- uvicorn
宝塔操作
- 安装python项目管理器并配置
- 打开版本管理安装python 3.6.8(大于3.6即可)
- 添加python项目
- 名称自定义
- 路径为新建的demo1文件
- 选择安装的python版本
- 启动方式gunicorn
- 启动文件index.py
- 端口8897(任意,记得配置阿里云安全组)
- 不勾选确认
- 选择映射
- 添加外网映射IP地址(会自动生产站点文件)
命令行操作
cd 到新建的demo1文件夹下
安装screen
yum install screen # centos screen -S [name] #创建新的screen screen -ls #显示当前的screen screen -r [name] #进入到对应的screen中 若screen -ls显示的screen不是detach,则不能进入到对应的screen中,此时就要将其变为detach: screen -d [name] #将该screen变成detach 快捷键ctrl+A, D就是detach当前的screen screen -wipe #清楚dead状态的screen #删除某个screen的两种方法: 1. screen -r [name]进入到对应的screen中,然后再exit(或者按ctrl+C) 2. screen -S [name] -X quit #直接删除该screen
运行程序,保持后台运行
# 新建一个后台a1的运行程序 screen -S a1 screen uvicorn index:app --host 0.0.0.0 --port 8897 # 修改文件后ctr+c终止程序
测试
- 输入外网地址请求数据
xxx.xx.xx.xxx/docs
查看接口文档
备注
参考 :https://www.sitstars.com/archives/86/
参考:https://bingwong.org/FastAPI/%E5%88%A9%E7%94%A8FastAPI%E4%B8%BAwordpress%E5%BC%84%E4%B8%80%E4%B8%AAAPI%E6%8E%A5%E5%8F%A3%EF%BC%9AWebStack%20Pro%E7%9A%84API%E5%90%8E%E7%AB%AF%E9%83%A8%E7%BD%B2/
版权声明:本文为sun_hentai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。