Rails 3.2.1登录Passenger,Thin或Unicorn

时间:2012-02-18 00:39:56

标签: ruby-on-rails deployment passenger thin unicorn

我已经为我的Rails应用程序尝试了这3种托管方法,无论我做什么,当我在生产环境中运行时,我都无法获得一致的日志记录。

对于我的测试,我创建了一个空白的应用程序,并尝试访问根目录。然后我会添加一个用户脚手架并耙数据库。

如果我将RAILS_ENV转换为开发,log / devlopment.log工作正常,记录我期望的所有内容。

当我将RAILS_ENV转为生产时,log / production.log以奇怪的方式记录。在Passenger中,我收到第一个路由错误。然后没事。当我重新启动apache或nginx时,我会得到自第一个(已记录)之后导致的所有路由错误,然后在重新启动底层服务器之前,日志将无法写入任何新内容。如果我遇到配置问题,将会记录apache2 / error.log。然后它只记录缓存未命中

使用Thin和Unicorn,我只会收到有关静态资产的错误(我没有预先编译资产)。一旦我预编译了资产,就不会再出现日志消息了。

在所有3个设置中,我会在production.log中获得预编译消息(当我运行资产:预编译时)(表明Rails至少可以写入日志)。

是否有人在生产模式下正确记录的部署宝石(Passenger,Thin或Unicorn)上运行的Rails 3.2.1应用程序?我花了5天时间研究这个问题。我没有想法。

1 个答案:

答案 0 :(得分:0)

在Rails 3.2.x中证明了它的报告问题。已提交修复程序,希望随Rails 3.2.2一起发布。

https://github.com/rails/rails/issues/4277