【问题标题】:trying to debug "502 Bad Gateway" error after deploying react app to gcp?将反应应用程序部署到 gcp 后尝试调试“502 Bad Gateway”错误?
【发布时间】:2020-05-08 00:41:09
【问题描述】:

我已经通过“gcloud app deploy”部署了一个 React 应用。 “gcloud app browse”命令会打开一个浏览器,该浏览器会尝试加载一段时间,但随后会显示浏览器标题“502 Bad Gateway”。我找到了以下故障排除页面:

https://cloud.google.com/endpoints/docs/openapi/troubleshoot-response-errors#gae_errors

故障排除页面上的以下信息似乎很适合我的方案:

“消息中带有 BAD_GATEWAY 的错误代码 502 通常表示 App Engine 终止了应用程序,因为它用完了 记忆。默认的 App Engine 灵活虚拟机只有 1GB 内存, 只有 600MB 可用于应用程序容器。”

但我在日志中没有看到任何“内存不足”错误参考。我想我可能需要确保我使用适当的 app.yaml 文件“部署 gcloud 应用程序”。我在确定什么是我的 React 应用程序的有效最小 yaml 文件时遇到问题,我可以确信我的“gcloud app deploy”将具有预期的结果。我发现以下参考资料似乎是一个很好的起点:

https://cloud.google.com/endpoints/docs/openapi/get-started-app-engine

^^^ 本页参考以下yaml示例代码:

https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/endpoints/getting-started/src/main/appengine/app.yaml

但 url 指的是“java-docs-sample”,所以不确定这是否是用于 React 应用程序部署的 vaid yaml 文件。你能提供一些指导吗?我真的只是在寻找可用于成功部署的最小 yaml 文件。这是我在最初的“gcloud app deploy”中使用的 yaml 文件的结构,部署过程似乎表明成功,但不确定这里是否存在任何类型的致命缺陷或其他任何可能丢失的东西:

runtime: nodejs
env: flex
manual_scaling:
  instances: 1
resources:
  cpu: 1

【问题讨论】:

    标签: google-cloud-platform


    【解决方案1】:

    据我了解,您只需要一个用于 React 应用程序的最小良好 app.yaml,因为如果其他一切都正确,内存不足似乎是问题所在。

    react 的示例 app.yaml 如下:

    # [START runtime]
    runtime: nodejs
    env: flex
    # [END runtime]
    
    # [START handlers]
    handlers:
      - url: /
        static_files: index.html
        upload: index.html
    
      # [END handlers]
    

    但您需要根据需要/配置修改处理程序。

    502 错误有时表明您的应用本身存在问题。因此,最好先在本地进行测试并确保您的应用正常运行。

    那么对于内存部分,您可以尝试将实例类型指定为具有更高内存的实例类型。如果它仍然抛出相同的错误,那么很可能问题出在您的应用程序或依赖项中。

    【讨论】:

      猜你喜欢
      • 2018-08-22
      • 2021-06-22
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 2017-06-29
      • 2020-08-24
      • 2013-07-16
      • 2019-07-27
      相关资源
      最近更新 更多