你如何在Sinatra中选择你的HTTP服务器?

sff*_*ffc 13 rack mongrel thin webrick sinatra

我在本地运行Sinatra应用程序.

自从我安装了Thin之后,我的Sinatra应用程序总是将它用作Web服务器.但是,我一直在使用Thin提供应用程序所需的大量静态文件的性能问题,我想切换到Mongrel或WEBrick.

我似乎无法弄清楚如何将我的应用程序切换到Mongrel或WEBrick.即使我放在app.rb的顶部require 'mongrel'或者require 'webrick'在我的顶部ruby app.rb,Sinatra仍然以Thin开头.

所以,我的问题是:如何指定Sinatra的Web服务器在开发模式下使用?另外,我怎么能在生产模式下这样做?

Stu*_*t M 17

您可以使用:server 配置设置设置 Sinatra使用的服务器:

set :server, 'webrick'  # or thin, mongrel
Run Code Online (Sandbox Code Playgroud)

在生产中,使用Phusion PassengerUnicorn等更复杂的服务器要好得多,因为它们比Thin,Mongrel或WEBrick具有更好的性能.如果您选择Passenger或Unicorn,则不会在Sinatra应用程序文件本身中配置服务器,而是通常使用Rackup config.ru文件单独配置它.

" Ruby on Rails服务器选项 "针对的是Rails应用程序,但仍然与Sinatra应用程序非常相关.