29

通常,当你运行rails server它时,它会启动 Webrick。如果您安装 'thin' gem,则会启动 'thin'。我想对'puma'服务器做同样的事情。

我看到startrailties (lib/rails/commands) 中的命令调用 super,但我找不到“super”的各种选项是什么。我还在“瘦”中查看了许多对 Rails 的引用。

我从 2008 年 10 月发现了一个名为“为脚本/服务器添加了精简支持。#488 [Bob Klosinski]”的变更日志条目,但自那次提交 (a93ea88c0623b4f65af98c0eb55924c335bb3ac1) 以来,该代码区域发生了显着变化。

如果有人可以将我引导到正确的代码部分,那将非常有帮助。

4

4 回答 4

58

经过一番挖掘,我找到了这个答案:https ://stackoverflow.com/a/14911994/604526

要将 Puma 设为默认值,请将此代码粘贴到上面的 script/rails 中 require 'rails/commands':

require 'rack/handler'
Rack::Handler::WEBrick = Rack::Handler.get(:puma)

如果您使用 Puma 现在是默认服务器rails s

rails s
=> Booting Puma
=> Rails 3.2.12 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Connecting to database specified by database.yml
Puma 1.6.3 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://0.0.0.0:3000

导轨 4

使用 Rails 4,您只需将 puma-gem 添加到 Gemfile。(使用 Rails 4.0.2 和 Puma 2.6.0 测试)

于 2013-03-13T12:12:58.483 回答
19

至少在 Rails 4 中,您只需将以下内容添加到您的 Gemfile

gem 'puma'

然后运行'bundle',然后当你运行'rails server'时,将使用Puma。

于 2013-07-25T00:26:57.110 回答
11

这对我有用。Ruby 2.0.0 Rails 3.2.13 Puma 1.6.3

rails s puma
于 2013-04-16T03:53:31.817 回答
2

Puma 文档建议您#\ -s pumaconfig.ru.

于 2012-12-15T20:55:26.340 回答