Python 部署小记

前言

一开始我是用宝塔面板的,但是不知道为什么一直无法启动,想着予以研究怎么在宝塔面板上运行起来,不如自己亲自去服务器里面研究怎么通过命令跑起来;

环境

服务器镜像版本:Ubuntu

步骤

Python 运行不同于 Node,它不能直接安装依赖,而是得先需要一个独立的虚拟环境并激活它,Ubuntu 新版(具体多少不知道,好像是 20 版本以后)默认不再允许直接在系统环境中运行 Python,创建以后才能安装依赖和运行程序。

在当前目录下创建一个 Python 虚拟环境,目录是 .venv

pyhton3 -m venv .venv

激活它

source .venv/bin/activate

Python 虚拟环境一般情况只需要创建一次,只要发现项目中执行以下命令,如果发现有这个目录后续就不再需要创建虚拟环境了,直接激活即可。 因为 Python 虚拟环境的目录是 .venv,在 Linux 镜像中默认是隐藏的,所以 ls 是无法查看到的,得用以下命令才能看得到是否有有 .venv 目录。

ls -la

如果你想退出的话,也很简单

deactivate

运行

其实建议部署前,先自己直接用 Python 运行一下,确保程序是能正常运行的,不然 pm2 部署不成功它是会不断重试的,会把 cpu 给打高。 这样就可以提前排查一下问题,尤其是现在盛行 AI 编程,比如它可能一时没理解,弄成了命令行使用 uvicorn/gunicorn 启动服务,而你又是通过 pyhton3 xxx 的方式来启动,会有启动一闪而过就退出的现象。

部署

才知道原来 PM2 不仅可以部署 Node 项目,原来也可以部署 Python 项目,从上文我们知道,Python 的运行是需要虚拟环境的,所以我们启动命令我们需要把虚拟环境的创建和激活命令也写上。

pm2 start "source .venv/bin/activate && python3 -m app" --name "xxxxx"

顺便再补充一下其他命令,方便看到的同学直接使用,不再需要去找其他文章。

停止项目

pm2 stop [pm2面板中,项目的id或者项目的name]

重启项目

pm2 restart [pm2面板中,项目的id或者项目的name]

删除项目

pm2 delete [pm2面板中,项目的id或者项目的name]

已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注