gpt4 book ai didi

python - Flask + Gunicorn + Nginx + Supervisor 非默认端口号

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:25 27 4
gpt4 key购买 nike

我有 2 个需要共同托管的 Flask 应用程序。这是我想要实现的目标:

我正在使用 Gunicorn 运行应用程序 1(与应用程序 2 非常相似)。前面有Nginx,我们用Supervisor来管理各个组件。

这两个项目都有自己的 virtualenv venv 并安装了所需的包。我用来通过 Supervisor 启动此应用程序的配置文件。

[program:app1]
command = /home/myuser/proj1/app1/venv/bin/python /home/myuser/proj1/app1/venv/bin/gunicorn app1:app

environment =
CONFIG_1 = /home/myuser/proj1/conf/config_1.cfg,
CONFIG_2 = /home/myuser/proj1/conf/config_2.cfg
directory = /home/myuser/proj1/app1
user = myuser
stderr_logfile = /var/log/app1/stderr.log
stdout_logfile = /var/log/app1/stdout.log

我试过了

command = /home/myuser/proj1/app1/venv/bin/python /home/myuser/proj1/app1/venv/bin/gunicorn app1:app -b localhost:9001

但它默认为端口 8000。

有人可以建议我如何让 app1 在端口 9001 上运行吗?

提前致谢。

可能有帮助的信息。

  • 操作系统:Ubuntu 14.04.2 LTS
  • Python:2.7.10(venv 中的 2.7.11)
  • unicorn :17.5
  • flask :0.10.1

最佳答案

我猜命令应该是:

command = /home/myuser/proj1/app1/venv/bin/gunicorn app1:app -b localhost:9001

顺便说一句,你可以看看文档:Application Dispatching ,在 WSGI 级别上组合多个 flask 应用程序。在你的情况下,也许 DispatcherMiddleware 会很好:

from werkzeug.wsgi import DispatcherMiddleware
from app1 import app as path_one
from app2 import app as path_two

application = DispatcherMiddleware(path_one, {
'/path2': path_two
})

关于python - Flask + Gunicorn + Nginx + Supervisor 非默认端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34859581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com