gpt4 book ai didi

ruby-on-rails - Webrick 作为生产服务器与 Thin 或 Unicorn?

转载 作者:行者123 更新时间:2023-12-03 04:37:25 26 4
gpt4 key购买 nike

似乎人们理所当然地认为不能使用 Webrick 作为生产服务器,但我找不到任何地方提到原因。共识似乎是:“Webrick 适合开发,但 Thin 或 Unicorn 才是生产的选择。”

我确实查找了瘦服务器的主页,它谈到了每秒请求数,但我不太理解该图,因为没有注释。

谁能告诉我为什么我应该使用 Thin 或 Unicorn 而不是 Webrick?另外使用Webrick进行开发有什么好处吗?自从 Webrick 附带有 Rails 以来,我就一直在使用它,我认为它成为默认值应该有一个原因。

顺便说一句,我正在使用 Heroku。

最佳答案

几个重要原因

  1. 它是用 Ruby 编写的(请参阅 http://github.com/ruby/ruby/tree/trunk/lib/webrick )
  2. 已编辑它没有生产网站通常需要的许多功能,例如多个工作人员(特别是预 fork 、生命周期管理、异步处理等)、重定向、重写、等等

当我提到重定向/重写时,我指的是使用 Webrick 时,您必须在不同层(Rack、Sinatra、Rails、自定义 Webrick 代码等)处理重写。这需要您启动额外的 ruby​​“处理程序”来执行重写代码。对于低流量站点,这可能没问题,因为您可能已经预热了进程,什么都不做。然而,对于流量较高的站点,这对服务器来说是额外的负载,前端服务器(Apache、Nginx 等)可以在不启动 Ruby* 的情况下处理这些负载,而且速度可能会快几个数量级。

* 例如,如果您在负载均衡器后面运行,您可以将所有重写流量路由到未安装 ruby​​ 的服务器,并让您的主服务器仅管理主要流量。这种重写流量可能是由于 SEO 的网站更改或类似原因造成的。另一种情况是一个具有多个组件的站点,可能一个部分是 Rails,另一个部分是 PHP,并且两者都需要重写(即重写旧的 PHP 路径到 Rails)

关于ruby-on-rails - Webrick 作为生产服务器与 Thin 或 Unicorn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com