【问题标题】:optimum OS,server, etc setup for rails production environmentRails 生产环境的最佳操作系统、服务器等设置
【发布时间】:2010-11-10 04:10:15
【问题描述】:

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

您的建议?

谢谢

【问题讨论】:

    标签: ruby-on-rails production


    【解决方案1】:

    有很多很多不同的方法来配置 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

    我使用它而不是普通 MRI,因为它的内存效率更高一些,这对服务器有很大的影响。它还可以与Passenger集成。

    REE 的一个缺点是它基于1.8.7。您可能想改用1.9.2,因为它有显着的性能优势。

    宝石管理RVM

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

    部署系统Capistrano

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

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

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

    【讨论】:

    • 很好的答案。 nginx 变得非常流行,但我认为你对 apache 的论点是有道理的。我唯一可能会质疑的是,如果我们谈论的是 rails 3,MRI 1.9.2 可能是比 ree 更好的选择。不过 1.8.7 的 ree 很简单。
    • @tchrist touche! BSD 也将是一个非常好的服务器。对不起 Linux 盲人。
    • @Matt 我很想听听 nginx 用户为什么他们选择它而不是 Apache。如果有明显的好处,我总是愿意尝试不同的配置。
    • nginx (imo) 以一般方式设置起来更简单,并且乘客安装程序的工作方式相同。它还占用更少的内存,并且性能更好。尽管 Apache 可能是最受实战考验的服务器,并且支持阳光下的一切,但 nginx 具有更新和从错误中学习的优势。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2014-05-06
    相关资源
    最近更新 更多