gpt4 book ai didi

ruby-on-rails - 为什么在部署 Rails 应用程序时需要 Apache 服务器?

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:09 24 4
gpt4 key购买 nike

虽然我们可以用 webrick 或 mongrel 部署它

最佳答案

大多数 Ruby 应用程序服务器只会运行一个 Ruby 进程(Ruby 有一个全局解释器锁,这使得多线程变得毫无意义),这意味着它一次只能处理一个请求。至少可以说,这不会给你很好的表现。

有两种解决方法:运行多个 Ruby 应用程序服务器并在它们前面放置一个负载平衡器或反向代理,例如Nginx 或 Apache 在一堆 Mongrels 或瘦服务器前面(您运行的进程数反射(reflect)了您将能够并行处理的请求数)。或者你运行 Passenger,它是一个 Apache 或 Nginx 模块,管理一个应用程序池,这些应用程序可以随着负载的变化而动态增长和收缩。第一个选项为您提供更多配置选项,但第二个选项更易于管理。您想要哪一个取决于您的用例。

当然还有其他解决方案,但它们适用于更具体的用例。例如,您可以编写一个非常高性能的应用程序并使用 Thin 部署它——但这需要您编写一个事件驱动的应用程序。您无法部署 Rails 应用程序并期望获得相同的性能。

关于ruby-on-rails - 为什么在部署 Rails 应用程序时需要 Apache 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370662/

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