2013-04-02 31 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应用程序仍然非常重要。