2012-02-28 191 views
1

我正在從Dreamhost切換到Rackspace雲託管,因爲前者處理rails應用程序的能力有待改進。我已經安裝了一臺CentOS服務器,我已經部署了我的Rails應用程序,並且解決了域問題,一切都很好。現在我想設置它,所以如果我直接進入IP地址,我將得到正常的apache目錄而不是rails應用程序。我想如果這僅僅是一個虛擬主機可以管理這個,但現在他們都去軌頁或Apache網頁,視情況可能是在apache2上配置虛擬主機

<VirtualHost *:80> 
    ServerName 123.456.789.101 
    DocumentRoot /var/www/html 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName mywebsite.com 
    ServerAlias www.mywebsite.com 
    DocumentRoot /rails/myapp/current/public 
    <Directory /rails/myapp/current/public> 
    AllowOverride all 
    Options -MultiViews 
    </Directory> 
</VirtualHost> 

我不太清楚如何進行,或不可能開始。思考?

+0

使用基於名稱的虛擬主機?並有apache.mywebsite.com指向apache頁面,或類似的東西。並有www指向你的rails應用程序。 – 2012-02-28 15:30:11

回答

3

Apache將第一個虛擬主機作爲所提供IP的主要主機(或者全部是*)。因此,您應該能夠設置您的主要虛擬主機記錄,確保它的第一個虛擬主機記錄已加載,並且每當遇到未綁定的IP或未綁定的地址時它都會加載該虛擬主機。然後指定第二個虛擬主機,並在其中指定要指向您的Rails應用程序的特定域/子域。

請注意,如果您將虛擬主機記錄分割爲多個文件(即站點可用/站點啓用的文件夾)。 Apache按字母順序加載它們,通常在基於debian的系統上,您將看到000-default或similer文件。這一個在開始時使用數字來確保它總是第一個加載並承擔主虛擬主機的角色