13

我正在本地运行 Sinatra 应用程序。

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

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

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

4

1 回答 1

17

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

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

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

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

于 2013-04-02T02:37:59.987 回答