首页 > 解决方案 > Google Cloud App Engine:Flask App 出现 502 Bad Gateway (nginx) 错误

问题描述

我在 Google Cloud App Engine (flex) 上运行 Flask 应用程序。在本地运行它工作得很好,但是一旦它部署我得到一个502 Bad Gateway error (nginx). 现在我想弄清楚是什么原因造成的,但我找不到任何选项来查看我的应用程序创建的控制台日志。

由于它在我的本地环境中运行良好,我当前解决此问题的工作流程包括在本地更改我的代码并部署它以查看它是否可以运行,但每次部署需要 30 多分钟才发现它仍然无法运行。必须有一种方法可以更有效地做到这一点。

按照文档https://cloud.google.com/appengine/docs/flexible/python/debugging-an-instance 我能够在调试模式下通过 SSH 连接到我的实例并从 Cloud Shell 启动 Flask 应用程序,但是它告诉我在我无法从云服务器访问的http://127.0.0.1:8080/上访问它。因此,我无法浏览网页以重现 502 错误,然后在控制台中查看输出。

如何找出导致服务器上 502 错误的原因?

标签: pythongoogle-app-enginenginxflaskgoogle-cloud-platform

解决方案


有类似的问题。发现 app 引擎在 main.py 文件中查找 app 变量。我的最终 app.yaml 如下所示。

应用程序.yaml

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
 python_version: 3

并有 requirements.txt,如下所示。

要求.txt

Flask==1.1.1
gunicorn==20.0.4

推荐阅读