【问题标题】:How to debug an Django application running in AWS EC2如何调试在 AWS EC2 中运行的 Django 应用程序
【发布时间】:2021-11-28 20:40:13
【问题描述】:

我在 AWS Elastic Beanstalk 上部署了一个 django 应用程序并运行了它。 一些端点运行良好,但有人说<h1>Server Error (500)</h1>

出现错误的端点在我的本地环境中运行良好,但在 AWS 上运行时出现上述错误。 所以我要调试为什么会出错...... 请帮我! 注意:我有 ssh 访问权限。我检查了/var/log/目录,但没有发现应用程序的日志记录错误。

【问题讨论】:

  • 确保在 settings.py 中有DEBUG=True,可以给你一些错误提示。
  • 如果你是 SSH,你可以 curl localhost 来检查你的应用程序是否工作?
  • 我相信DEBUG=True,当我尝试运行一个端点时,它说错误,其他的运行良好。

标签: django amazon-web-services amazon-ec2 amazon-elastic-beanstalk


【解决方案1】:
  1. 在侧边栏中查找 Elastic Beanstalk 日志:

  2. 下载完整日志:

  3. 从 eb-engine.log 开始

  4. 在该文件的“尾部”(靠近底部)中查找 [ERROR] 行。根据“执行清理逻辑”这句话很明显

    2021/07/18 23:56:16.414159 [ERROR] An error occurred during execution of ...
    
    2021/07/18 23:56:16.414169 [INFO] Executing cleanup logic
    2021/07/18 23:56:16.414270 [INFO] CommandService Response: ...

这将告诉您错误的原因,或者它会告诉您查看其他文件之一以获取更多信息。

不得不下载日志进行调试非常烦人。为了节省时间,只需知道下载后不需要解压缩下载;只需双击文件即可查看,无需解压。

【讨论】:

  • 我已经知道了,日志显示部署、预请求、eb-engine等错误,不是应用程序运行错误
  • @MaSao93 你看过web.stdout.log吗?如果您什么也看不到,一种解决方案是设置 custom logging 并配置 Django LOGGING 以登录到文件,例如。
【解决方案2】:

您可能会遗漏很多东西。我要做的前两件事是:

  1. 按照 @sanNeck 的建议,尝试将 Debug=True 放入您的设置中(不建议在生产环境中使用),这会提示您出现错误。
  2. 检查您是否在 ElasticBeanStalk 上正确安装了所有软件包。尝试从控制台中提取错误日志并尝试查找任何丢失的包。

【讨论】:

    猜你喜欢
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2021-04-04
    • 2013-02-04
    • 1970-01-01
    相关资源
    最近更新 更多