您如何在 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 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

与Sinatra一起设计

如何自动化集成测试?

我的世界安卓账号怎么登录苹果上

如何查询b站之前的客服聊天记录

如何在 Heroku 上托管的 Ruby/Sinatra 应用程序中设置 HTTP 标头?

快手电子面单授权失效怎么解决