2010-11-10 40 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

相關問題