用于rails生产环境的最佳OS,服务器等设置

时间:2010-11-10 04:10:16

标签: ruby-on-rails production

rails生产环境的最佳操作系统,服务器等设置是什么?

您的推荐?

感谢

1 个答案:

答案 0 :(得分:4)

配置Rails服务器的方法有很多种。我不知道是否存在“理想”配置这样的事情。我会告诉你如何配置我的服务器以及原因。

操作系统 Linux ,任何发行版。

这是唯一有意义的服务器平台。 Ruby社区以Linux为中心,但BSD也是一个非常好的选择。我最熟悉Linux。

OSX是一个很好的开发平台,但额外的成本并没有真正为您提供服务器端的任何东西,而您无法获得Linux。苹果正在逐步淘汰Xserve平台,因此无论如何都可能没有未来。 Don't even think about using Windows

网络服务器 Apache + Phusion Passenger

我推荐Apache,因为它无处不在。每个人都知道。获得支持非常简单。

Phusion Passenger可能是最容易上手的应用服务器。以下是VirtualHost配置示例:

<VirtualHost x.x.x.x:80>
    ServerName xxxx.com
    DocumentRoot /var/www/xxxx/current/public
    PassengerHighPerformance on
    <Directory "/var/www/xxxx/current/public">
        AllowOverride all
        Options -MultiViews
    </Directory>
    AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/json
    AddOutputFilterByType DEFLATE image/jpeg, image/png, image/gif
</VirtualHost>

就是这样。 (而且大多数情况并非绝对必要)

Ruby解释器 Ruby Enterprise Edition

我使用它代替vanilla MRI,因为它的内存效率更高,这对服务器产生了很大的影响。它也与Passenger整合。

REE的一个缺点是它基于1.8.7。您可能希望使用1.9.2,因为这会带来显着的性能优势。

宝石管理 RVM

RVM允许您为不同的应用程序创建沙盒gem环境,以防出现版本冲突。强烈推荐用于您的开发环境。

部署系统 Capistrano

如果你不使用Capistrano,你应该。这将是您可以为生产部署做的最大的节省时间。如果出现问题,它也会使回滚到之前的版本变得简单。

您还应该安装ExceptionNotifier。如果您的生产服务器上有异常,您应该知道它。

我还强烈建议您查看NewRelic RPM进行分析。即使是免费版本也提供了一些有用的信息。