【发布时间】: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 的一些问题?