以下是启动时的详细信息
=>引导WEBrick
=> Rails 3.0.1应用程序从http://0.0.0.0:3000开发开始
用=>调用-d来分离
=> Ctrl关闭服务器2011-01-11 13:43:57 INFO WEBrick 1.3.1
2011-01-11 13:43:57 INFO ruby 1.9.2 (2010-08-18) i 386-mingw32
2011-01-11 13:43:57信息WEBrick::HTTPServer#start: pid=10216 port=3000
WEBrick周期性地崩溃。唯一的错误消息是:
ActionController::RoutingError (没有路由匹配):
此错误消息不时发生(我正在使用回形针),但每次发生时都不会导致WEBrick崩溃。我花了一些时间试图解决路由错误,但还没有解决。不过,我不认为这是WEBrick崩溃的根本原因,因为它并不是每次都发生的。
任何帮助都非常感谢。
发布于 2011-01-12 08:26:11
对不起,我不知道你的问题的答案,但我可以提供一个潜在的解决办法,你可能会满意:使用Mongrel而不是WEBrick。Mongrel跑得更快,而且完全兼容。也许当找不到路线的时候它就不会坠毁。大多数Rails开发人员已经几年没有使用WEBrick了。
使用Mongrel:
gem install mongrel如果Rails找到Mongrel,它将自动使用它。
希望这能解决问题!
发布于 2011-07-11 13:43:49
Mongrel并不能解决这个问题,至少在Windows7上使用Ruby1.9.2 p180和Rails 3.0.9。
我发现导致这个问题的代码是(它位于C:\Ruby192\lib\ruby\gems\1.9.1\gems\railties-3.0.9\lib\rails\rack\log_tailer.rb):中)。
module Rails
module Rack
class LogTailer
.
.
.
def tail!
@file.seek @cursor
if !@file.eof?
contents = @file.read
@cursor = @file.tell
$stdout.print contents
end
end
end
end
end如果您空白此方法,则WEBrick再次正常工作。我对它做了一个密集的测试,抛出了大量的RoutingError。
你可以用这个补丁。将其放入环境文件中:
module Rails
module Rack
class LogTailer
def tail!
end
end
end
end这样做的缺点是您不会在控制台上看到调试消息。
若要避免此问题,可以使用log4r在控制台上输出调试消息。
对我来说就像个魅力。
发布于 2011-08-15 19:28:59
看起来,在打印到记录器STDOUT的错误/警告之后,我们就崩溃了。我使用thin来解决这个问题,它不登录到STDOUT。
gem install eventmachine --pre
gem install thin
thin start环境: win7x64,ruby 1.9.2 (2011-07-09) i 386-mingw32,Rails 3.0.9
https://stackoverflow.com/questions/4662675
复制相似问题