Rails应用程序随机崩溃,错误“脚本标题过早结束”

时间:2009-05-05 13:12:05

标签: ruby-on-rails passenger dreamhost

我在DreamHost上托管Ruby on Rails 2.0.2应用程序。它位于Apache 2服务器上,运行在Phusion Passenger之上。

应用程序经常返回500错误“Rails应用程序无法正常启动”,但是随机时间。它似乎发生在应用程序负载较高时,但我无法确认。它每天只能获得大约2,000次综合浏览量,所以我认为加载不应该是一个问题。

Apache日志将这500个响应与错误相关联:“脚本标头过早结束”。只需在今天上午9点查看日志,错误就会显示为每分钟三到四次。这显然是不可接受的。

不太常见的情况是,应用程序向一个带有堆栈跟踪的Phusion Passenger页面和错误的“Broken pipe”投掷。

Rails日志不会列出任何这些错误。

在DreamHost上托管的暂存和实时网站上都会发生这种情况,但我无法在本地开发服务器上复制它。

所以我想真正的问题是:我从哪里开始调试此问题?

2 个答案:

答案 0 :(得分:9)

事实证明,我只是在DreamHost共享服务器上访问了我的内存上限。

我在一个帐户下运行了多个Rails应用程序,其中许多仅用于测试和原型设计。 Rails使用了大量内存,所以我很快就达到了我的分配。支持人员告诉我“我检查了我们的日志,并且在过去的三天里它杀死了你的一个红宝石过程2325次”。 糟糕。

解决方案:如果可以提供帮助,请尽量不要在共享环境中运行Rails。我很快就会将至少一个应用程序切换到VPS主机。

答案 1 :(得分:1)

您是否正在运行最新版本的乘客(撰写本文时为2.2.2)。我自己有一些错误,但升级乘客安装后大部分(如果不是全部)都消失了。

如果这不是答案,您可以随时尝试将rails版本升级到2.3并查看问题是否仍然存在。