【发布时间】:2020-04-11 02:50:20
【问题描述】:
首先我知道 gcloud 上的 http 502 意味着任何可能的错误。 此外,在日志中没有错误只有标准的 Spring Boot 信息和调试消息。
我遇到麻烦的项目是一个swagger生成的spring boot java项目(160多个java文件)。
在 intellij 上本地运行良好且快速。
在 gclod shell 上执行 mvn clean spring-boot:run 后项目启动,我在浏览器上看到了默认生成的页面。
在 gclod shell 上执行mvn appengine:deploy 后,我总是在浏览器上看到这条消息:
错误:服务器错误 服务器遇到临时错误,无法完成您的请求。请在 30 秒后重试
或此错误:502 Bad Gateway nginx。总是。
这是来自 gcloud 控制台的最后一条消息(在 mvn appengine:deploy 之后):
..done.
[INFO] GCLOUD: Setting traffic split for service [default]...
[INFO] GCLOUD: ...................................done.
[INFO] GCLOUD: Deployed service [default] to [https://polishapi-psd2.appspot.com]
[INFO] GCLOUD:
[INFO] GCLOUD: You can stream logs from the command line by running:
[INFO] GCLOUD: $ gcloud app logs tail -s default
[INFO] GCLOUD:
[INFO] GCLOUD: To view your application in the web browser run:
[INFO] GCLOUD: $ gcloud app browse
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16:07 min
[INFO] Finished at: 2019-12-18T14:11:30+01:00
[INFO] ------------------------------------------------------------------------
C:\workspace\PolishAPI-psd2>gcloud app logs tail
日志中没有错误。 一个基本的、超级简单的 spring boot “hello world”项目可以工作,但不是那种大摇大摆的项目。
如何处理这个问题? 谢谢。
【问题讨论】:
-
您好,我来自 GCP 支持。我看到你现在有一个工作的 Swagger 应用程序;那么问题解决了吗?
-
是的,是的! :) 在不更改源代码的情况下,我发现 app.yaml 文件中的这两行就足够了: runtime: `runtime: java11 instance_class: F4 `
-
很高兴您解决了您的问题! :D
-
我还是不明白为什么只有 java11 运行时和标准环境可以工作,而 java 和 flex 环境不行。在谷歌文档中没有解释。所以,问题没有解决,我只用了一个workaround。
-
3/3-此外,这些链接(Choosing Env、Key differences、Migrating)指出了灵活环境和标准环境之间的区别,所以我发现它们也可能会有所帮助。
标签: java spring-boot google-app-engine google-cloud-platform gcloud