在将React App部署到gcp后尝试调试“ 502 Bad Gateway”错误?

时间:2020-01-21 22:02:11

标签: google-cloud-platform

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

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

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

”消息中带有BAD_GATEWAY的错误代码502通常指示 该App Engine终止了该应用程序,因为该应用程序用完了 记忆。默认的App Engine flexible VM仅具有1GB的内存, 只能用于应用程序容器600 MB。”

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

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应用程序部署的有效yaml文件。您可以提供一些指导吗?我实际上只是在寻找可以用于成功部署的最小yaml文件。这是我最初用于“ gcloud应用程序部署”时使用的yaml文件的结构,部署过程似乎表明成功,但是不确定此处是否存在任何类型的致命缺陷或可能缺少的任何其他缺陷:< / p>

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

1 个答案:

答案 0 :(得分:0)

据我了解,您只需要一个最小的好app.yaml即可响应应用程序,因为如果其他所有方法都正确的话,内存不足似乎是个问题。

用于响应的示例app.yaml如下:

# [START runtime]
runtime: nodejs
env: flex
# [END runtime]

# [START handlers]
handlers:
  - url: /
    static_files: index.html
    upload: index.html

  # [END handlers]

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

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

然后对于内存部分,您可以尝试将实例类型指定为具有更高内存的实例类型。如果仍然引发相同的错误,则很可能是您的应用或依赖项中存在此问题。