用于rails生产环境的最佳OS,服务器等设置
rails生产环境的最佳操作系统,服务器等设置是什么?
你的推荐?
谢谢
配置Rails服务器的方式有很多种。 我不知道是否存在“理想”配置这样的事情。 我会告诉你如何配置我的服务器以及为什么。
操作系统 : Linux ,任何发行版。
这是唯一有意义的服务器平台。 Ruby社区以Linux为中心,但BSD也是一个非常好的选择。 我最熟悉Linux。
OSX是一个很好的开发平台,但是额外的成本并没有真正为你带来任何服务器方面的东西。 苹果正在逐步淘汰Xserve平台,因此无论如何都可能没有未来。 甚至不要考虑使用Windows 。
Web服务器 : Apache + Phusion Passenger
我推荐Apache,因为它无处不在 。 每个人都知道。 获得支持很简单。
Phusion Passenger可能是最容易上手的应用服务器。 以下是VirtualHost配置示例:
ServerName xxxx.com DocumentRoot /var/www/xxxx/current/public PassengerHighPerformance on AllowOverride all Options -MultiViews AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/json AddOutputFilterByType DEFLATE image/jpeg, image/png, image/gif
而已。 (而且大部分都不是绝对必要的)
Ruby解释器 : Ruby Enterprise Edition
我使用它代替香草MRI,因为它的内存效率更高,这对服务器产生了很大的影响。 它也与Passenger整合。
REE的一个缺点是它基于1.8.7
。 您可能希望使用1.9.2
因为它具有显着的性能优势。
gem管理 : RVM
RVM允许您为不同的应用程序创建沙盒gem环境,以防出现版本冲突。 强烈建议您的开发环境。
部署系统 : Capistrano
如果你不使用Capistrano,你应该。 这将是您可以为生产部署做的最大的节省时间。 如果出现问题,它也会使回滚到之前的版本简单。
您还应该安装ExceptionNotifier 。 如果您的生产服务器上有exception,您应该知道它。
我还强烈建议您查看NewRelic RPM以进行性能分析。 即使是免费版也提供了一些有用的信息。