【发布时间】:2021-02-20 00:08:32
【问题描述】:
我将 Django 应用程序部署到 Elastic Beanstalk (EB) Amazon Linux 2 Python 3.7 平台,一切似乎都运行良好。但是,环境的健康状况很严重,我不知道为什么。
EB 给我的唯一信息如下:
总体状态:降级 - 所有实例上的服务受损。
(只有一个实例在运行)
实例状态:严重 - 以下服务未运行:发布。
我没有找到关于“发布”服务是什么的信息。
从完整日志中,我看到的唯一错误如下:
daemon.log:
F, [2020-11-07T04:03:03.891398 #5022] FATAL -- : /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/puma-4.3.5/lib/puma/launcher.rb:432:in `block in setup_signals': SIGTERM (SignalException)
from /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/puma-4.3.5/lib/puma/single.rb:117:in `join'
from /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/puma-4.3.5/lib/puma/single.rb:117:in `run'
from /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/puma-4.3.5/lib/puma/launcher.rb:172:in `run'
from /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/puma-4.3.5/lib/puma/cli.rb:80:in `run'
from /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/healthd-1.0.6/bin/healthd:112:in `block in <top (required)>'
from /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/healthd-1.0.6/bin/healthd:19:in `chdir'
from /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.6.0/gems/healthd-1.0.6/bin/healthd:19:in `<top (required)>'
from /opt/elasticbeanstalk/lib/ruby/bin/healthd:23:in `load'
from /opt/elasticbeanstalk/lib/ruby/bin/healthd:23:in `<main>'
从我读到的here 来看,这个 SignalException 被抛出以关闭一个进程,所以我认为它是正常的。
任何其他日志中都没有其他错误。关闭增强的运行状况检查将是here 所述的简单“解决方案”,但我想继续使用它们。
非常感谢任何帮助。
【问题讨论】:
-
我发现 EB 非常挑剔。尝试重新部署您的应用,这通常会为我纠正未经证实的错误。
-
我已经尝试重新部署几次,但没有任何变化。您是否已将 Django 应用程序部署到生产环境?如果是这样,您是否推荐其他托管服务?我正在考虑手动配置 EC2 实例,但 EB 似乎提供了一个更简单的界面来配置负载均衡器、监控等。
-
我将 EB 用于几个不同的基于 Django 的 Web 应用程序,除了一些怪癖之外,它运行良好。您可以尝试打印日志吗?
eb logs在您的终端中 -
我在运行该命令时收到 HTTP 403: Forbidden 错误。这很奇怪,因为我的用户拥有对 EB 的完全访问权限。这不是 EB 在请求“完整日志”时提供的日志吗?
-
我也遇到过这个问题 - 我也无法从 aws Web 界面下载日志 - 但是,我能够
eb ssh进入我的 eb-env 并找到那里的日志 - 你可以试试吗?
标签: django amazon-web-services amazon-elastic-beanstalk