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

发布于 2024-09-12 19:51:26 字数 310 浏览 6 评论 0 原文

运行带有 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 应用程序将独立运行而不会出现问题。

Running Ubuntu Server 10.04 with Rails 2.3.4 and Webrick 1.3.1; our rails app runs fine when called via script/server -e production, but trying to test it as a daemon by calling it with the -d flag produces the following output:

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

Nothing is produced in the logs, and other Rails applications will run detached without issue.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

嘿看小鸭子会跑 2024-09-19 19:51:26

我假设您正在端口 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

I assume You are running the Webrick in port 3000

>>$ sudo netstat -anp | grep 3000
tcp     0   0 0.0.0.0:3000       0.0.0.0:*          LISTEN      8822/ruby       
>>$ sudo kill -9 8822
桜花祭 2024-09-19 19:51:26

我并不是要反驳您选择 Webrick 作为生产服务器,也许我对您选择 Webrick 的原因有一些遗漏,但是您是否考虑过其他替代方案?我敢打赌您已经知道所有这些,但 Webrick 是提供的 ruby​​ 服务器,而且它也是最慢的 ruby​​ 服务器选择。

一些最流行的生产服务器选择是:

由于其简单的配置、速度和功能,Passenger 可能是目前最受欢迎的生产选择。

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

I don't mean to contradict your choosing Webrick as a production server and maybe there is something I'm missing about why you are choosing Webrick, but have you considered other alternatives? I'd wager you already know all of this, but Webrick is the provided ruby server, and it is also the slowest ruby server choice.

Some of the most popular production server choices are:

Passenger is likely the most popular choice for production now due to its easy configuration, speed, and features.

If there is a specific use case for Webrick that makes it better than any of the other server choices, I'd love to know.

逆光下的微笑 2024-09-19 19:51:26

您可以在此处添加补丁以启用错误日志: 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

You can add patch to enable error log here: https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/core_ext/process/daemon.rb#L16

To

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

Now when you start rails server with -d, the error log will append to /tmp/rails_daemon.log.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文