我在DreamHost上托管一个Rails 2.0.2应用程序。它位于Apache 2服务器上,运行在Phusion乘客之上。
应用程序通常返回一个500错误"Rails应用程序无法正常启动“,但时间是随机的。这似乎是发生在应用程序是在较高的负载,虽然我不能证实这一点。它每天的浏览量只有2,000次左右,所以我不认为负载应该是一个问题。
Apache日志将这500个响应与错误:“脚本头的过早结束”相关联。今天上午9点查看日志时,错误出现的频率为每分钟3或4次。这显然是不可接受的。
不太频繁,应用程序抛出一个带有堆栈跟踪和错误“坏管道”的Phusion乘客页面。
Rails日志没有列出任何这些错误。
这种情况发生在托管在DreamHost上的暂存和活动站点上,但我不能在本地开发服务器上复制它。
所以我想真正的问题是:我从哪里开始调试这个问题?
发布于 2009-05-06 23:22:45
原来,我只是在DreamHost共享服务器上按下内存上限。
我在一个帐户下运行了几个Rails应用程序,其中许多只是为了测试和原型。Rails占用了大量内存,因此我很快就达到了分配的目的。支持人员告诉我,“我检查了我们的日志,在过去的三天里,它杀死了你的一个红宝石过程2325次”。哇哦。
解决方案:如果可以的话,尽量不要在共享环境中运行Rails。我将至少将我的一个应用程序切换到一个VPS主机。
发布于 2009-05-05 15:11:57
您是否正在运行最新版本的乘客(撰写本报告时为2.2.2)。我自己也犯了一些错误,但大多数(如果不是全部)在升级乘客安装后消失了。
如果这不是解决问题的方法,您可以尝试将rails版本升级到2.3,并查看问题是否仍然存在。
https://stackoverflow.com/questions/824783
复制相似问题