gpt4 book ai didi

ruby-on-rails - 我的 Rails 应用程序为其所有 URL 返回 HTTP 500,但日志文件中没有显示任何内容。如何诊断问题?

转载 作者:行者123 更新时间:2023-12-04 02:13:47 26 4
gpt4 key购买 nike

我有一个运行在带有 Apache 和 Phusion Passenger 的生产服务器上的 Rails 应用程序。使用 Mongrel 时,该应用程序在本地运行良好,但是每当我尝试在生产服务器上加载 URL 时,它都会返回 HTTP 500。我知道服务器工作正常,因为我可以获取应用程序的静态元素(例如 JavaScript 文件) 、样式表、图像)就好了。我还检查了乘客状态,它正在加载应用程序(它必须是,因为返回了应用程序的 500 Internal Server Error 页面,而不仅仅是默认的 Apache 页面)。另外,当我通过 script/console production 加载应用程序时并执行类似 app.get("/") 的操作, 500 也返回。

问题是日志文件中没有任何内容表明问题。 production.log是空的。 Apache 错误日志也显示 Apache 没有问题。我对发生的事情感到困惑,我不确定如何诊断问题。

我知道我可能有点含糊,但是有人可以就问题所在提出建议吗?或者至少是一种我可以诊断它的方法?

最佳答案

这种特定情况的答案是我的应用程序有问题。其中一个模型类使用了与应用程序其余部分不同的数据库连接。此数据库连接配置不正确。我认为日志文件没有写入任何内容的原因是 Rails 在不知道该怎么做的情况下退出了。

由于其他人了解我如何诊断此问题可能会有所帮助,因此这是我的思考过程:

  • 问题不是 Apache:没有错误写入 Apache 日志文件。
  • 问题可能不在于Passenger:Passenger 没有向Apache 日志文件写入任何错误,而且它似乎正确加载了我的应用程序,因为passenger-status将其显示为已加载,并显示我的应用程序的 500 内部服务器错误页面(不是默认的 Apache 页面)。

  • 从那里我推测它一定是我的应用程序在初始化阶段很早就发生的问题,但不是导致应用程序完全保释并抛出异常的东西。我在 Phusion Passenger Google Group 中四处闲逛,最终偶然发现了这个有用的 post ,这表明该错误可能是数据库连接问题。果然,删除这个错误配置的数据库和所有对它的引用使应用程序工作!

    关于ruby-on-rails - 我的 Rails 应用程序为其所有 URL 返回 HTTP 500,但日志文件中没有显示任何内容。如何诊断问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2334564/

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