宝塔面板上现在自己就有python项目管理器,所以不用去软件商店专门下载了。

打开左侧的网站,在上方选择“python项目”,然后根据自己的python项目的版本,点击“Python版本管理”,安装对应的python版本。

点击左侧文件可以把python项目打包后放置到指定位置。

点击左上角“添加Python项目”

项目名称必须是英文,因为面板会根据项目名称单独生成一个虚拟环境,中文容易出错。

FastAPI项目选择命令行启动

项目路径就是Python项目的根路径。

启动路径可以选择:

uvicorn main:app --host 0.0.0.0 --port 6688 --workers 4

Uvicorn 在单进程上使用异步协程是有优势的,但是如果接口方法是同步的则走的多进程模式,也就是 workers 的数量, 这个时候 uvicorn 不如 gunicorn,性能上会有些限制。

Gunicorn 是一个使用 WSGI 标准的应用服务器。

Flask 和 Django可以直接使用 Gunicorn 运行,但是FastAPI不能直接使用 Gunicorn,因为FastAPI 使用最新的ASGI 标准。

Gunicorn 可以作为进程管理器使用,并且可以设定进程的类型,Uvicorn 可以作为 Gunicorn的进程类型。

gunicorn main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 

使用这种组合,Gunicorn 将充当进程管理器,监听端口和IP。它会将接收到的数据传输到运行 Uvicorn 类的工作进程,然后,Uvicorn 将数据传输给 FastAPI。

Gunicorn 可以管理失效的进程,如果进程死掉会重启一个新的进程以维持工作进程的数量。

以上两个代码都可以作为启动行。

启动用户在配置环境和pip的时候可以设置为root,后面可以改回www。

运行状态可以在python项目管理器左侧的项目日志中查看。

如果有模块需要安装,可以把requirements.txt导入服务器后,点击python项目管理器中的“环境管理”,直接安装requirements.txt中的模块。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐