首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Gunicorn如何在托管多个Flask站点的服务器上工作?

Gunicorn如何在托管多个Flask站点的服务器上工作?
EN

Stack Overflow用户
提问于 2019-03-16 16:37:39
回答 1查看 272关注 0票数 1

--我正在Linode VPS上部署几个基于Flask的站点,使用NGINX作为静态服务器/反向代理。

--通过读取传入的头文件并对每个给定站点使用/etc/nginx .conf文件,我完全理解这在多个站点上是如何工作的。

--我很难弄清楚的是,安装在每个站点的venv中的gunicorn是如何启动的,以处理从VPS范围的NGINX服务器发送的WSGI调用。

--我看到在教程中使用了supervisord,但仅针对单个站点,而不是在VPS级别运行的supervisord (如NGINX)如何为特定站点启动Gunicorn。我也不明白为什么每个站点都有自己的Gunicorn安装。这是怎么回事?

抱歉,如果这重复了其他问题,但我在这里或其他地方找不到任何答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-20 04:09:24

NGINX应该将流量重定向到适当的端口。每个flask站点都需要自己的黑角工作人员为其启动。

例如,在supervisor配置中,您的每个站点的run命令如下所示:

代码语言:javascript
复制
[program:site1]
command=venv1/bin/gunicorn --workers num_workers --bind localhost:8081 flask_app1:app
#etc...

[program:site2]
command=venv2/bin/gunicorn --workers num_workers --bind localhost:8082 flask_app2:app
#etc...

希望这能增加一些清晰度。

编辑:

以下是其中一个监听http的站点的NGINX配置示例。

代码语言:javascript
复制
#Config Contents
server {
    listen       80;
    server_name  site.your.domain;
    # Or use the following if you do not have a domain
    #server_name 123.123.123.123;

    location / {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Scheme $scheme;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55194927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档