python - 谷歌云应用引擎 : 502 Bad Gateway (nginx) error with Flask App

标签 python google-app-engine nginx flask google-cloud-platform

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

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

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

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

最佳答案

有类似的问题。 发现应用引擎在 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

关于python - 谷歌云应用引擎 : 502 Bad Gateway (nginx) error with Flask App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50182833/

相关文章:

python - 连接时如何避免将整数转换为字符串

mysql - SQLAlchemy AppEngine 标准 - 与 MySQL 服务器的连接丢失

python - 如何将 base64 图像存储为 GAE 数据存储中的文件

python - RxPY 中带有 from_iterable/range 的 subscribe_on

python - 在 Python 中迭代一个字符串并添加一些新字符

java - 在低级数据存储 API 中处理一对多关系的最佳方法是什么?

java - 从应用程序外部测试应用程序服务的最佳方法

django - docker、nginx、django 以及如何提供静态文件

php - 最近在 ubuntu 16.04 上使用 php 7 到同一服务器的完整 url 的 file_get_contents 非常慢

python - 在多个文件中搜索多个子字符串的索引