首先,我知道gcloud上的http 502表示任何可能的错误。 另外,在日志中没有错误,只有标准的Spring Boot信息和调试消息没有错误。
我遇到麻烦的项目是一个由草率生成的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”项目可以运行,但不能大张旗鼓。
如何处理此问题? 谢谢。
答案 0 :(得分:0)
在处理了4个星期以上的问题后,我发现app.yaml文件应仅包含以下两行:
runtime: java11
instance_class: F4
是的!仅这两行就足以在庞大的gcloud上运行了。 在stackoverflow,github等上有很多不同的示例,包括由Google 为同一任务制作的 unlike 示例app.yaml文件,答案非常简单。>
最诚挚的问候! :)
答案 1 :(得分:0)
完全相同的问题,我在此示例https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/appengine-java8/helloworld-springboot
中遇到遵循了两行内容。 运行时:java11 instance_class:F4
答案 2 :(得分:0)
与上述答案类似,以下帮助:
runtime: java
env: flex
instance_class: B4
manual_scaling:
instances: 1
resources:
memory_gb: 4
如有必要,也可以使用automatic_scaling
和instance_class
F4。