python - 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 错误的原因?
解决方案
有类似的问题。发现 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
推荐阅读
- python - Python和正则表达式从带有罗马数字的docx中提取标题
- php - 刮除大于一页
- java - Java Hibernate - 无法连接到 H2
- typescript - 无法使打字稿在 Codepen 中工作
- android - Realm 平台创建基于查询的 Realm
- javascript - 将 Draft.js Html 渲染为具有正确标记的 div 标签?
- python - 动态数据框名称创建
- bash - 从 Dockerfile 和脚本调用时,ROS 命令不起作用
- java - Netty - 使用 IdleStateHandler 对处理程序的空闲状态进行单元测试
- python - 在更高范围内访问 python 类属性