ruby-on-rails – 不同的Ruby on Rails生产Web服务器之间的建议(和差异)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 不同的Ruby on Rails生产Web服务器之间的建议(和差异)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
很快,我计划将我的第一个Ruby on Rails应用程序部署到生产环境中,我甚至选择了一个webhost,其中包含所有受托服务器和Capistrano从RoR提供商所期望的好处.

提供商允许Mongrel,Thin,Passenger& FastCGI的Web服务器看起来很灵活,但是我真的不知道它们之间的区别.我已经看了他们一些,但是当他们开始谈论功能和最大同时发送的请求时,这些数据看起来有所不同,这取决于谁发布它们.

我看过乘客(在表面上),这对我来说似乎很吸引人,但是我的印象是乘客不是实际的网络服务器,而是更像是Apache或Nginx的顶层,并且被管理的应用程序的实例(如Mongrel集群).

任何人都可以直接与外行人的话语区别开来,以便我可以明智地选择(因为任何看过印第安纳琼斯和最后十字军的人知道如果你选择不好,会发生什么).

解决方法

简短答案

与Apache / Nginx乘客一起去.乘客is fast,可靠,易于配置和部署.乘客已被大量Rails应用采用,包括Shopify.

alt text http://www.modrails.com/images/passenger_mongrel_thin_benchmark.png

长的答案

忘记CGI和FastCGI.起初没有别的选择,所以运行Rails的唯一方法是使用CGI或更快的浏览器FastCGI.现在几乎没有人在CGI下运行Rails.最新的Rails版本不再提供.cgi和.fcgi赛跑者.

Mongrel已经成为一个主要采用的解决方案,是CGI和FCGI的最佳替代品.许多网站仍然使用Mongrel和Mongrel集群,但是Mongrel项目几乎已经死亡,许多项目已经转移到其他解决方案(主要是Passenger).
另外,基于Mongrel的架构是非常难配置的,因为它需要一个前端代理(thin,ngnix)和一个由多个Mongrel实例组成的后端架构.

乘客自发布以来一直受到广泛关注.许多项目由Mongrel转为Passenger,原因很多,包括(但不限于)易于部署,可维护性和性能.此外,Passenger现在可用于Apache和Ngnix.

使用Passenger的最简单的方法是Apache Passenger配置.一个Apache安装和多个乘客进程.

如果您需要更好的性能和可扩展性,可以使用Ngnix作为前端代理,并将所有Rails请求转发到多个后端服务器,每个服务器由Apache Passenger组成.
我在这里没有进入技术细节,这个解决方案是由Rails项目用于高流量的.

更复杂的解决方包括不同级别的组合,包括http代理和服务器.您可以从GitHubHeroku了解我正在谈论的内部细节.

现在,乘客是大多数Rails项目的最佳答案.

猜你在找的Ruby相关文章