簡體   English   中英

當我運行`rails server`時,如何讓'puma'自動啟動(就像Thin一樣)

[英]How do I get 'puma' to start, automatically, when I run `rails server` (like Thin does)

通常,當您運行rails server它會啟動Webrick。 如果您安裝'thin'寶石,那么'thin'會啟動。 我想用'puma'服務器做同樣的事情。

我看到railties(lib / rails / commands)中的start命令調用super,但我找不到'super'的各種選項。 我還在'thin'中回顧了許多對Rails的引用。

我從2008年10月發現了一個名為“添加對腳本/服務器的精簡支持。#488 [Bob Klosinski]”的Changelog條目,但該代碼區域自該提交后發生了重大變化(a93ea88c0623b4f65af98c0eb55924c335bb3ac1)。

如果有人可以將我引導到正確的代碼部分,那將非常有幫助。

經過一番挖掘,我發現了這個答案: https//stackoverflow.com/a/14911994/604526

要使Puma成為默認值,請將此代碼粘貼到需要'rails / commands'的腳本/軌道上:

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

如果您使用rails s Puma現在是默認服務器

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

使用Rails 4,您只需將Puma-gem添加到Gemfile即可。 (使用Rails 4.0.2和Puma 2.6.0測試)

至少在Rails 4中,您只需要將以下內容添加到Gemfile中

gem 'puma'

然后運行'bundle',然后當你運行'rails server'時,將使用Puma。

這適合我。 Ruby 2.0.0 Rails 3.2.13 Puma 1.6.3

rails s puma

Puma文檔建議你將#\\ -s puma到你的config.ru

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM