代码之家  ›  专栏  ›  技术社区  ›  cbrulak

为Rails生产环境优化操作系统、服务器等设置

  •  1
  • cbrulak  · 技术社区  · 15 年前

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

    你的建议?

    谢谢

    1 回复  |  直到 15 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    配置Rails服务器有很多种不同的方法。我不知道是否有“理想”的配置。我将告诉您如何配置我的服务器以及为什么。

    操作系统 : Linux ,任何分布。

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

    OSX是一个很好的开发平台,但是额外的成本并不能为您在Linux服务器端买到任何东西。苹果也在逐步淘汰Xserve平台,所以它的未来很可能已经不复存在了。 Don't even think about using Windows .

    Web服务器 : Apache + Phusion Passenger

    我推荐阿帕奇,因为它 到处 . 人人都知道。获得支持非常简单。

    phulsion passenger可能是最容易启动的应用程序服务器。以下是虚拟主机配置示例:

    <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

    我用这个代替普通的核磁共振成像,因为它的内存效率更高,这在服务器上有很大的不同。它还可以与乘客集成。

    REE的一个缺点是它基于 1.8.7 . 你可能想用 1.9.2 相反,因为它有显著的性能优势。

    创业板管理 : RVM

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

    部署系统 : Capistrano

    如果你不使用Capistrano,你应该。这将是您在生产部署中所能做的最大的节约时间。如果出现问题,它还将使回滚到以前的版本变得非常简单。

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

    我也强烈推荐退房 NewRelic RPM 用于分析。甚至免费版本也提供了一些有用的信息。