【问题标题】:I can't serve gunicorn requests from nginx我无法提供来自 nginx 的 gunicorn 请求
【发布时间】:2019-08-17 00:31:27
【问题描述】:

我有一个在 nginx 服务器上运行的 react web 应用程序。服务器在 80 端口上运行。

它的conf是这样的:

location / { 
    proxy_pass http://127.0.0.1:5000;
    proxy_connect_timeout 75s;
    proxy_read_timeout 300s;
    try_files $uri $uri/ =404;

Gunicorn 已绑定到我的烧瓶应用程序并在 127.0.0.1:5000 上运行。当我这样做时,我看不到我的网站。它说

This site can’t be reached 127.0.0.1 refused to connect.

理想情况下,Nginx 将通过端口 80 提供静态文件,当在 react 端发出 fetch 请求时,它将被传递到 127.0.0.1:5000 上的 gunicorn 和 flask

当我将位置设置为位置 /insert_email(我的反应提取)时,我可以加载网站,但我从未在我的 Gunicorn 服务器上收到电子邮件插入请求

【问题讨论】:

    标签: nginx gunicorn


    【解决方案1】:

    这是一个示例 NGINX 配置,我知道它可以用作 Gunicorn 的反向代理。

    #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:5000;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Scheme $scheme;
        }
    }
    

    Gunicorn Run 字符串看起来像

    gunicorn --bind localhost:5000 flask_app:app
    

    作为健全性检查,您可以检查哪些进程正在侦听哪些端口

    lsof -i -P -n | grep LISTEN
    

    确保您的服务器至少允许来自您的 IP 地址的端口 80 上的流量。

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 2020-04-28
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 2014-07-15
      • 2012-02-16
      • 1970-01-01
      相关资源
      最近更新 更多