通常,当你运行rails server
时,它会启动Webrick。如果您安装'thin'宝石,那么'thin'会启动。我想用'puma'服务器做同样的事情。
我看到railties中的start
命令(lib / rails / commands)调用super,但我找不到'super'的各种选项。我还在'thin'中回顾了很多对Rails的引用。
我从2008年10月发现了一个名为“为脚本/服务器添加了精简支持。#488 [Bob Klosinski]”的Changelog条目,但该代码区域自提交以来发生了重大变化(a93ea88c0623b4f65af98c0eb55924c335bb3ac1)。
如果有人可以将我引导到正确的代码部分,那将非常有帮助。
答案 0 :(得分:57)
经过一番挖掘,我找到了这个答案:https://stackoverflow.com/a/14911994/604526
要使Puma成为默认值,请将此代码粘贴到需要'rails / commands'的脚本/轨道中:
require 'rack/handler'
Rack::Handler::WEBrick = Rack::Handler.get(: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
使用Rails 4,您只需将Puma-gem添加到Gemfile即可。 (使用Rails 4.0.2和Puma 2.6.0测试)
答案 1 :(得分:17)
至少在Rails 4中,您只需要将以下内容添加到您的Gemfile
gem 'puma'
然后运行'bundle',然后运行'rails server'并使用Puma。
答案 2 :(得分:9)
这对我有用。 Ruby 2.0.0 Rails 3.2.13 Puma 1.6.3
rails s puma
答案 3 :(得分:2)
Puma documentation建议您将#\ -s puma
添加到config.ru
。