【发布时间】:2011-03-10 08:04:04
【问题描述】:
我最初在 serverfault.com 上发布了一个与此问题相关的问题:https://serverfault.com/questions/152587/apache-mod-proxy-to-another-server
我已经意识到这不是我的服务器设置的问题,而是我的 rails 应用程序的问题。我已经在服务器方面设置了这个应用程序,与我在同一台服务器上运行的另一个正常运行的 rails 应用程序完全相同。当我启动服务器时,我的 mongrel.log 如下所示:
** Daemonized, any open files are closed. Look at /var/www/osuwebdev/tmp/pids/mongrel.pid and log/mongrel.log for info.
** Starting Mongrel listening at 0.0.0.0:8080
** Starting Rails with production environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).
** Rails signals registered. HUP => reload (without restart). It might not work well.
** Mongrel 1.1.5 available at 0.0.0.0:8080
** Writing PID file to /var/www/osuwebdev/tmp/pids/mongrel.pid
当我加载一个页面时,它会在日志中弹出:
Wed Jun 30 19:46:10 +0000 2010: Error calling Dispatcher.dispatch #<NoMethodError: undefined method `[]' for nil:NilClass>
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/cgi.rb:108:in `send_cookies'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/cgi.rb:136:in `out'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/http_response.rb:65:in `start'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/cgi.rb:135:in `out'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:81:in `process'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:159:in `process_client'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `each'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `process_client'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `initialize'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `new'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `initialize'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `new'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:282:in `run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `each'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
/usr/local/bin/mongrel_rails:19:in `load'
/usr/local/bin/mongrel_rails:19
我不知道这个应用程序有什么不同可能导致这个问题。
【问题讨论】:
-
发现这张旧票dev.rubyonrails.org/ticket/6716 类似错误。您的课程之外是否有任何包含语句?您是否还检查了您的班级名称,以确保您不会无意中给班级打补丁?
-
我确实有一个“资源”模型和控制器,这可能是导致它的原因吗?我不相信我在使用任何包含语句。
-
我将所有与“资源”模型相关的代码都注释掉了,它没有任何效果,我的代码中也没有看到任何包含。
-
我确实发现了这个rails.lighthouseapp.com/projects/8994/tickets/4690,它看起来非常相似,并且接近于使用该帖子末尾的代码进行修复,但仍然无法正常工作。我不知道导致此问题的此应用程序有什么不同。 (编辑:刚刚意识到这是我唯一的 2.3.8 应用程序,所有其他应用程序都是 2.3.5)
-
我将应用程序降级到 2.3.5 并且一切正常
标签: ruby-on-rails mongrel dispatcher