ruby-on-rails – 为什么我们在部署rails应用程序时需要一个apache服务器?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 为什么我们在部署rails应用程序时需要一个apache服务器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我虽然可以用webrick或mongrel部署它

解决方法

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

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

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

猜你在找的Ruby相关文章