首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WEBrick崩溃的问题

WEBrick崩溃的问题
EN

Stack Overflow用户
提问于 2011-01-11 21:08:23
回答 4查看 1.6K关注 0票数 1

以下是启动时的详细信息

=>引导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崩溃的根本原因,因为它并不是每次都发生的。

任何帮助都非常感谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-12 08:26:11

对不起,我不知道你的问题的答案,但我可以提供一个潜在的解决办法,你可能会满意:使用Mongrel而不是WEBrick。Mongrel跑得更快,而且完全兼容。也许当找不到路线的时候它就不会坠毁。大多数Rails开发人员已经几年没有使用WEBrick了。

使用Mongrel:

代码语言:javascript
复制
gem install mongrel

如果Rails找到Mongrel,它将自动使用它。

希望这能解决问题!

票数 1
EN

Stack Overflow用户

发布于 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):中)。

代码语言:javascript
复制
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。

你可以用这个补丁。将其放入环境文件中:

代码语言:javascript
复制
module Rails
  module Rack
    class LogTailer

      def tail!

      end
    end
  end
end

这样做的缺点是您不会在控制台上看到调试消息。

若要避免此问题,可以使用log4r在控制台上输出调试消息。

对我来说就像个魅力。

票数 1
EN

Stack Overflow用户

发布于 2011-08-15 19:28:59

看起来,在打印到记录器STDOUT的错误/警告之后,我们就崩溃了。我使用thin来解决这个问题,它不登录到STDOUT。

代码语言:javascript
复制
gem install eventmachine --pre
gem install thin
thin start

环境: win7x64,ruby 1.9.2 (2011-07-09) i 386-mingw32,Rails 3.0.9

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4662675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档