Webrick无法作为守护进程运行,没有错误消息

时间:2010-08-03 14:27:59

标签: ruby-on-rails ruby ubuntu webrick

使用Rails 2.3.4和Webrick 1.3.1运行Ubuntu Server 10.04;我们的rails应用程序在通过script/server -e production调用时运行正常,但是通过使用-d标志调用它来尝试将其作为守护程序进行测试会产生以下输出:

=> Booting WEBrick
=> Rails 2.3.4 application starting on http://0.0.0.0:3000

日志中没有生成任何内容,其他Rails应用程序将在没有问题的情况下分离运行。

3 个答案:

答案 0 :(得分:3)

我假设你在3000港口运行Webrick

>>$ sudo netstat -anp | grep 3000
tcp     0   0 0.0.0.0:3000       0.0.0.0:*          LISTEN      8822/ruby       
>>$ sudo kill -9 8822

答案 1 :(得分:0)

我并不是说你选择Webrick作为一个生产服务器是矛盾的,也许我不知道为什么你选择Webrick,但你考虑过其他选择吗?我打赌你已经知道所有这些,但Webrick是提供的ruby服务器,它也是最慢的ruby服务器选择。

一些最受欢迎的生产服务器选择是:

由于其简单的配置,速度和功能,乘客现在可能是最受欢迎的生产选择。

如果Webrick有一个特定的用例,它比任何其他服务器选择更好,我很想知道。

答案 2 :(得分:0)

您可以在此处添加补丁以启用错误日志:https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/core_ext/process/daemon.rb#L16

unless noclose
  STDIN.reopen "/dev/null"       # Free file descriptors and
  STDOUT.reopen "/dev/null", "a" # point them somewhere sensible.
  STDERR.reopen '/tmp/rails_daemon_err.log', 'a'
end

现在,当您使用-d启动rails服务器时,错误日志将附加到/tmp/rails_daemon.log