在后台的 VPS 上使用虚拟环境 (VENV) 运行 python Flask 应用程序

在后台的 VPS 上使用虚拟环境 (VENV) 运行 python Flask 应用程序

我正在尝试在生产环境中的 VPS 上运行 Flask 应用程序。问题是我无法更改任何 VPS 软件包,并且它python3.5默认使用解释器。我的应用程序运行所需的版本是python3.6或更高。

解决方案是使用虚拟环境来提供必要的依赖项,而无需触及操作系统的依赖项。

我的问题是如何venv以服务方式激活和运行我的烧瓶应用程序(启动和停止)。我用来启动应用程序的命令很简单:

source venv/bin/activate
FLASK_APP=app.py flask run --host 0.0.0.0  

笔记 :我的 VPS 运行 ubuntu 18.04 LTS。

答案1

我找到了一个解决方案,即使用通过添加我需要的python版本的虚拟环境创建的符号链接。

所以有

ExecStart=/root/project/venv/bin/python3.6 -m flask run

并指定环境变量:

Environment=FLASK_APP=app.py

也是工作目录(需要识别 app.py)

所有这些都在 systemd 服务文件中完成了。

相关内容