gpt4 book ai didi

java - 错误 : Running application failed - Spring boot + Boxfuse/AWS

转载 作者:行者123 更新时间:2023-11-30 10:50:31 25 4
gpt4 key购买 nike

我正在尝试使用 boxfuse 在 AWS 上运行我的 Spring boot 应用程序。我关注了following来自 Spring 的教程(第 54.4 节)和 Get Started也来自 Boxfuse。

当我运行以下命令时

boxfuse run target\digigram-0.1.0.jar -env=prod

我得到以下几行

Waiting for AWS to boot Instance i-74fe7fc8 and Payload to start at http://52.28.94.159:8080/ ...
WARNING: Healthcheck (http://52.28.94.159:8080/) returned 404 instead of 200. Retrying for the next 120 seconds ...
Terminating instance i-74fe7fc8 ...

结束于

Destroying Security Group sg-0ed6f667 ...
ERROR: Deployment of pantera160/digigram:0.0.0.1453900589995 failed in prod:Payload of Instance i-74fe7fc8 came up at http://52.28.94.159:8080/
with HTTP 404 (expected 200) => ensure your application responds with an HTTP 200 at http://52.28.94.159:8080/ or adjust the healthcheck configuration (healthcheck.path, healthcheck.timeout, ...) to fit your application
ERROR: Running pantera160/digigram:0.0.0.1453900589995 failed!

我不明白问题出在哪里。我是否必须更改 AWS 或我的应用程序中的某些内容或...

如有任何帮助,我们将不胜感激。

注意:
我正在运行 AWS 的免费计划,这可能是问题所在吗?

最佳答案

Boxfuse 可确保您的应用程序的正确版本保持正常运行,并且不会被错误版本取代。只有当新版本确实通过了 Boxfuse 的健康检查时,Boxfuse 才会为其重新分配应用程序的弹性 IP。完成后,Boxfuse 将终止旧版本的实例。

为了验证您的应用程序的新版本是否正确启动,Boxfuse 期望新版本实例的健康检查路径返回 HTTP 200。

没有执行器的常规 Spring Boot 应用程序的默认健康检查路径是 /。您的应用目前在那里回答 404 而不是 200。

您有多种选择来解决此问题:

  • 将 Controller 添加到映射到 / 的应用程序,当您的应用程序正确启动时,它会返回 HTTP 200。
  • 将 Boxfuse 的 healthcheck.path 更改为当您的应用程序正确启动时确实响应 HTTP 200 的不同路径。
  • 通过将 healthcheck 设置为 false 来禁用 Boxfuse 的健康检查(不推荐,因为这会有效地阻止 Boxfuse 检查您的应用程序是否正确启动)

选择其中一个选项,您的应用将如您所愿正确启动。

关于java - 错误 : Running application failed - Spring boot + Boxfuse/AWS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com