【问题标题】:Health status on aws Elastic Beanstalk is redaws Elastic Beanstalk 上的运行状况为红色
【发布时间】:2021-01-16 01:43:19
【问题描述】:

我创建了一个简单的 java spring boot 应用程序并创建了一个 jar 来将它托管在 aws 上。当用户输入 http://localhost:8080/hello 时,该应用程序仅显示“hello world”,所以我想广泛地转动它,但经过严重尝试后,我只是在 aws 控制台上得到“红色”标志。 我已将 aws 的端口配置为监听 5000 谢谢。

【问题讨论】:

  • 您检查过任何事件或日志吗?
  • aws 上没有可用的日志,并且“红色”下的“原因”已停用,因此无法知道原因。我正在考虑问题的原因,来自 jar 本身(通过“export”从 eclipse 创建),因为这是我第一次完成它和 aws 方法。
  • 什么意思? EB 具有您可以检查的事件历史记录,也可以从 EB 控制台下载实例的完整日志。
  • 30-09-2020 08:28:24 UTC+0200 WARN 环境健康已设置为红色。
  • 我已经用跟踪编辑了我的初始帖子:一切似乎都很好,直到它发出警告。没有错误,也没有致命错误。

标签: amazon-web-services spring-boot amazon-elastic-beanstalk


【解决方案1】:

您的应用程序在端口 8080 上运行,但它应该在端口 5000 上。如 AWS blog 中所述:

默认情况下,Spring Boot 应用程序将侦听 8080 端口。 Elastic Beanstalk 假定应用程序将侦听端口 5000。有两种方法可以解决此差异:更改 Elastic Beanstalk 配置为使用的端口,或更改 Spring Boot 应用程序侦听的端口。对于这篇文章,我们将更改 Spring Boot 应用程序侦听的端口。

最简单的方法是在 Elastic Beanstalk 环境中指定 SERVER_PORT 环境变量,并将值设置为 5000。(配置属性名称为 server.port,但 Spring Boot 允许您指定一个对环境变量更友好的名称)。

【讨论】:

  • 这是一个很好的评论,但我的实例甚至没有正常运行,因为它是红色的!首先它必须是绿色的,然后必须配置监听端口。
  • 我用 SERVER_PORT 5000 创建了一个新实例,现在状态已变为“降级”,这是日志:30-09-2020 15:24:27 UTC+0200 WARN Environment health has从待处理过渡到降级。初始化在 45 秒前完成,耗时 2 分钟。所有实例上的服务受损。
  • “以下服务未运行:application-web-1。”
  • @b.m 可能会崩溃。你必须登录它,并从内部检查它是否启动并运行,当你手动启动它时会发生什么等等。顺便说一句,如果您发现我的回答有帮助,我们将不胜感激。
猜你喜欢
  • 2015-11-16
  • 2018-11-07
  • 2018-11-02
  • 2019-03-14
  • 2014-12-26
  • 2020-11-10
  • 2016-06-14
  • 2019-07-03
  • 1970-01-01
相关资源
最近更新 更多