2010-11-10 41 views

回答

4

有配置Rails的服务器很多很多不同的方式。我不知道是否有这样的事情作为'理想'的配置。我会告诉你我是如何配置服务器的,以及为什么。

操作系统Linux,任何分布。

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

OSX是一个很棒的开发平台,但额外的成本并不能真正为您在服务器端购买任何Linux上无法获得的东西。而苹果正在逐步淘汰Xserve平台,所以有可能在那里没有未来。 Don't even think about using Windows

Web服务器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,您可以创建针对不同的应用沙盒宝石的环境中,如果有版本冲突。强烈建议您的开发环境。

部署系统Capistrano

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

您还应该安装ExceptionNotifier。如果生产服务器上存在异常情况,您应该了解它。

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

+0

很好的答案。 nginx越来越受欢迎,但我认为你对apache的论点是有道理的。只有我可能会问的是,如果我们在谈论轨道3,MRI 1.9.2可能是一个更好的选择,然后再见。但是1.8.7的ree是一个没有道理的人。 – 2010-11-10 04:40:10

+0

BSD⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠??? – tchrist 2010-11-10 04:40:41

+0

@tchrist touche! BSD也是一个非常好的服务器。对不起,Linux的盲目。 – 2010-11-10 04:47:51

相关问题