【问题标题】:How to fix AWS EC2 Nginx 502 Bad Gateway issue caused after rebooting the server?如何修复重启服务器后导致的 AWS EC2 Nginx 502 Bad Gateway 问题?
【发布时间】:2022-07-25 04:46:48
【问题描述】:

我有一个带有多个 Rest API 的 Python/Flask 后端。我将该程序部署在 AWS EC2 实例中。 API 之前工作得很好,有一会儿,我停止了实例并再次启动它(没有做任何更改)。 问题是,现在所有的 API 都抛出 502 Bad Gateway Error。 我该如何解决这个问题?

现在,当我使用

手动运行 python 文件时,API 正在工作
python3 main.py

它正在实例控制台上的http://127.0.0.1:5000/ 上运行。

所以看起来 Nginx 没有监听 Flask 服务器,但不确定!

/etc/nginx/sites-available/默认

server {
        listen 80;
        listen [::]:80;
        location / {
            proxy_pass http://127.0.0.1:5000;
            proxy_set_header X-Real-IP $remote_addr;
        }
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    include snippets/self-signed.conf;
    include snippets/ssl-params.conf;
 location / {
            proxy_pass https://127.0.0.1:5000;
            proxy_set_header X-Real-IP $remote_addr;
        }
}

*我也尝试将上述默认文件复制到启用的站点。还是不行

netstat -tunlp

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::443                  :::*                    LISTEN      -                   
tcp6       0      0 :::80                   :::*                    LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -                   
udp        0      0 127.0.0.53:53           0.0.0.0:*                           -                   
udp        0      0 172.31.37.30:68         0.0.0.0:*                           -  

/var/log/nginx/access.log

43.250.243.234 - - [26/Mar/2022:21:07:20 +0000] "GET /islive?videoUrl=https://smart-cap.obs.ap-southeast-3.myhuaweicloud.com/1648198646232_1648198646232.webm HTTP/1.1" 502 584 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.83 Safari/537.36"

【问题讨论】:

  • 您在 ngnix 错误日志中看到了什么?
  • 你是如何设置重启后自动启动烧瓶应用程序的?使用 systemd 单元文件?
  • @Riz 这是问题的最后一部分(/var/log/nginx/access.log)
  • @Marcin 没有做这样的事情...只是停下来几分钟后开始
  • @DavidJohns,这些是您在访问日志中看到的错误,但如果应用程序级别存在问题,您需要检查错误日志。可能是权限/selinux 的一些问题?

标签: amazon-web-services nginx


【解决方案1】:

问题在于我为自动运行应用程序而创建的服务文件。我不小心为用户名字段添加了错误的用户名。如果有人遇到此问题,请检查您是否在所有相关位置输入了正确的用户名。

【讨论】:

    猜你喜欢
    • 2018-01-20
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 2022-07-14
    • 2021-09-11
    • 2020-07-31
    • 2017-01-06
    相关资源
    最近更新 更多