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

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

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

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

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

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

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

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

事实certificate,我只是在DreamHost共享服务器上打了我的记忆帽。

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

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

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

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