使用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应用程序将在没有问题的情况下分离运行。
答案 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
。