【发布时间】:2017-11-12 16:51:02
【问题描述】:
我正在尝试使用 (1) nginx (2) gunicorn、(3) git 和 (4) supervisor 将烧瓶应用程序部署到 ec2 实例。我已经设置了 nginx、git、gunicorn,但是我在编写主管脚本时遇到了问题。
我无法让主管在 virtualenv 的上下文中启动 gunicorn。
当我在 virtualenv 之外运行 gunicorn run:app 时,它会返回
ImportError: No module named flask
当我在 virtualenv 中运行相同的命令时,它工作得很好。
当我在 virtualenv 之外运行相同的命令但在虚拟 env 中指定 gunicorn(即/var/www/sitename/env/bin/gunicorn run:app)时,它又可以正常工作了。
这是一个我无法解决的问题,但我认为如果我可以让主管在 virtualenv 中运行 gunicorn,那将不是问题,但我也无法做到这一点。
我尝试在主管脚本中添加两个程序,一个用于启动虚拟环境,另一个用于 gunicorn,使用引号将这两个命令添加到一起,一个类似的 SO 答案建议使用 && 结合激活 virtualenv并启动 gunicorn,声明一个 environment=PATH= 变量,以及许多其他选项;我只是无法让它工作。
我不知道我做错了什么或要尝试什么;有谁知道我现在能做什么?
我正在运行 python3 - 我读到主管仅限于 v2,但其他人在答案中提到它只是一个任务管理器,它应该没关系。
【问题讨论】:
标签: python-3.x nginx flask gunicorn supervisord