2013-04-02 40 views
13

我在本地運行Sinatra應用程序。你如何選擇Sinatra中的HTTP服務器?

自從我安裝Thin之後,我的Sinatra應用程序一直使用它作爲Web服務器。不過,我一直在爲我的應用程序需要的大量靜態文件提供服務時遇到性能問題,並且我想切換到Mongrel或WEBrick。

我似乎無法弄清楚如何將我的應用程序切換到Mongrel或WEBrick。即使我把require 'mongrel'require 'webrick'放在我的app.rb的頂部,在ruby app.rb上,Sinatra仍然以Thin開頭。

所以,我的問題是:你如何指定用於開發模式的Sinatra的Web服務器?另外,我如何在生產模式下這樣做?

回答

16

您可以設置西納特拉與使用的服務器:serverconfiguration setting

set :server, 'webrick' # or thin, mongrel 

在生產中,它是更好的使用更復雜的服務器像Phusion PassengerUnicorn,因爲他們比薄,雜種更好的性能或WEBrick。如果選擇Passenger或Unicorn,則不會在Sinatra應用程序文件本身內配置服務器,而是通常使用Rackup config.ru文件單獨配置它。

Ruby on Rails Server options」針對Rails應用程序,但對於Sinatra應用程序仍然非常重要。