您如何在 Sinatra 中选择您的 HTTP 服务器?
Posted
技术标签:
【中文标题】您如何在 Sinatra 中选择您的 HTTP 服务器?【英文标题】:How do you choose your HTTP server in Sinatra? 【发布时间】:2013-03-23 05:09:01 【问题描述】:我正在本地运行 Sinatra 应用程序。
自从我安装了 Thin,我的 Sinatra 应用程序就一直使用它作为 Web 服务器。但是,Thin 在为我的应用程序所需的大量静态文件提供服务时遇到了性能问题,我想切换到 Mongrel 或 WEBrick。
我似乎不知道如何将我的应用程序切换到 Mongrel 或 WEBrick。即使我将require 'mongrel'
或require 'webrick'
放在app.rb 的顶部,在ruby app.rb
上,Sinatra 仍然以 Thin 开头。
所以,我的问题是:您如何指定 Sinatra 在开发模式下使用的 Web 服务器?另外,我怎么能在生产模式下这样做?
【问题讨论】:
【参考方案1】:您可以使用 :server
configuration setting 设置 Sinatra 使用的服务器:
set :server, 'webrick' # or thin, mongrel
在生产中,最好使用更复杂的服务器,例如 Phusion Passenger 或 Unicorn,因为它们的性能比 Thin、Mongrel 或 WEBrick 更好。如果您选择Passenger 或Unicorn,您不会在您的Sinatra 应用程序文件本身中配置服务器,而是通常使用Rackup config.ru 文件单独配置它。
“Ruby on Rails Server options”针对的是 Rails 应用程序,但仍然与 Sinatra 应用程序非常相关。
【讨论】:
以上是关于您如何在 Sinatra 中选择您的 HTTP 服务器?的主要内容,如果未能解决你的问题,请参考以下文章