参考:

  • Python项目依赖包requirements.txt文件的生成与安装 - 莲(LIT) - 博客园:
  • 第一章:腾讯云轻量应用服务器建站流程(前端)_腾讯云如何开通网页前端_ryder_yan的博客-CSDN博客:
  • 宝塔上部署FastAPI的步骤和一些注意点 - 诗猿土豆 - 博客园:

1. 编写基于FastAPI的main.py文件

import uvicorn
from fastapi import FastAPI

app = FastAPI()  

@app.get("/")
def sayHi():
    return {"message":"Hello world!"}

# 启动uvicorn服务,默认端口8000,main对应文件名
if __name__ == '__main__':
    uvicorn.run('main:app')

2. 生成main.py的requirement.txt文件

这里使用pipreqs生成。

  • 安装pipreqs:pip install pipreqs
  • 在main.py的所在的文件夹路径下执行:pipreqs ./ --encoding=utf8

可以发现生成了requirement.txt文件:

查看宝塔配置的java项目_fastapi

3. 腾讯云购买轻量应用服务器

购买时选择使用应用模板和宝塔Linux面板:

查看宝塔配置的java项目_云计算_02

4. 防火墙添加宝塔面板端口和FastAPI端口

进入服务器后台的防火墙:

查看宝塔配置的java项目_ico_03

按图添加规则,FastAPI的端口可以根据自己需要修改:

查看宝塔配置的java项目_ico_04


查看宝塔配置的java项目_查看宝塔配置的java项目_05

创建结果:

查看宝塔配置的java项目_查看宝塔配置的java项目_06

5. 查看宝塔面板信息

进入服务器后台的概要,找到远程登陆并点击"登录"按钮:

查看宝塔配置的java项目_fastapi_07

进入后点击登录按钮:

查看宝塔配置的java项目_ico_08

输入sudo /etc/init.d/bt default后回车:

查看宝塔配置的java项目_腾讯云_09

可以看到宝塔面板的相关信息,可以复制保存一下,防止遗忘:

查看宝塔配置的java项目_云计算_10

6. 登录宝塔面板,安装套件

浏览器打开刚才获取的外网面板地址,输入刚才获取的用户名和密码登录:

查看宝塔配置的java项目_ico_11

用户协议下拉到底,勾选同意用户协议,点击进入面板按钮:

查看宝塔配置的java项目_查看宝塔配置的java项目_12

登录宝塔账号(没有可以按照提示注册):

查看宝塔配置的java项目_fastapi_13

登录后提示关联腾讯云API密钥,点击图中标出的“点击查看”文字:

查看宝塔配置的java项目_腾讯云_14

跳转后点击继续使用:

查看宝塔配置的java项目_云计算_15

复制APPID、SecretId、SecretKey:

查看宝塔配置的java项目_fastapi_16

返回宝塔面板页面,粘贴复制的内容,点击关联API密钥:

查看宝塔配置的java项目_腾讯云_17

出现弹窗,点击LNMP(推荐)下的一键安装:

查看宝塔配置的java项目_fastapi_18

耐心等待几个安装任务结束:

查看宝塔配置的java项目_云计算_19

7. 上传FastAPI程序

进入宝塔面板文件目录下的根路径>www:

查看宝塔配置的java项目_查看宝塔配置的java项目_20

创建文件夹wwwpython:

查看宝塔配置的java项目_云计算_21

进入wwwpython文件夹,将main.py和requirement.txt文件上传:

查看宝塔配置的java项目_云计算_22

8. 安装插件

软件商店内搜索进程守护管理器,安装图中圈出的插件:

查看宝塔配置的java项目_查看宝塔配置的java项目_23


查看宝塔配置的java项目_云计算_24


查看宝塔配置的java项目_查看宝塔配置的java项目_25

软件商店内搜索Python项目管理器,点击安装:

查看宝塔配置的java项目_腾讯云_26


查看宝塔配置的java项目_云计算_27


查看宝塔配置的java项目_ico_28


注意:后续操作如果莫名失败,可以考虑安装插件的其他版本。

9. 建立FastAPI项目

点击Python项目管理器的设置:

查看宝塔配置的java项目_查看宝塔配置的java项目_29

进入版本管理,选择自己FastAPI程序适用的Python版本下载:

查看宝塔配置的java项目_查看宝塔配置的java项目_30

等待下载完成后进入项目管理,点击添加项目,按照图中进行输入后点击确定按钮:

查看宝塔配置的java项目_云计算_31

等待依赖安装完成,点击配置:

查看宝塔配置的java项目_ico_32

将配置中的worker_class = 'sync'替换为worker_class = 'uvicorn.workers.UvicornWorker'后点击确认:

查看宝塔配置的java项目_腾讯云_33

点击重启:

查看宝塔配置的java项目_查看宝塔配置的java项目_34

10. 检查FastAPI部署情况

在腾讯云服务器的概览里可以找到公网ip:

查看宝塔配置的java项目_fastapi_35

进入http://公网ip:8081/docs可以发现部署成功:

查看宝塔配置的java项目_腾讯云_36

如果没有出现,注意在宝塔面板中查看项目是否运行中:

查看宝塔配置的java项目_查看宝塔配置的java项目_37