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

13

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

自从我安装了 Thin 之后,我的 Sinatra 应用程序总是使用它作为 Web 服务器。但是,由于我的应用程序需要大量的静态文件,所以我在使用 Thin 时遇到了性能问题,因此我想切换到 Mongrel 或 WEBrick。

我似乎无法找到如何将应用程序切换到 Mongrel 或 WEBrick 的方法。即使我在 app.rb 的顶部加入 require 'mongrel'require 'webrick',在运行 ruby app.rb 后,Sinatra 仍然使用 Thin 启动。

那么,我的问题是:如何在开发模式下指定 Sinatra 使用的 Web 服务器?另外,我该如何在生产模式下进行指定?

1个回答

17

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

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

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

"Ruby on Rails Server options"旨在针对Rails应用程序,但仍然非常适用于Sinatra应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接