2011-03-31 62 views
0

我的基本代碼段用戶的標識符(OXID)流掉一個代碼庫,但我想分割的用戶有不同的公共文件夾,併爲我採取網站下跌不騷擾其他網站 - 這就是爲什麼我想我的httpd.conf納入到這個樣子:如何配置Apache的conf並可能乘客,讓更多的虛擬主機

<VirtualHost *:80> 
    ServerName ny1.alco.dk 
    DocumentRoot /var/www/html/alco/current/sites/user_A/public 
    PassengerAppRoot /var/www/html/alco/current 
    SetEnv OXID 23 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName ny2.alco.dk 
    DocumentRoot /var/www/html/alco/current/sites/user_B/public 
    PassengerAppRoot /var/www/html/alco/current 
    SetEnv OXID 25 
</VirtualHost> 

Apache是​​同此涼 - 但乘客以「沒有這樣的文件來加載吠叫 - 捆紮機「 - 顯然,這是不對的!

這是在所有可能的(至少與Apache/2.2.14(Unix的),紅寶石1.8.7 P330來說,Rails 3.0.3和3.0.2客運)

更新!
原來,乘客「樹皮」在我身上:(

我有2個站點運行起來 - 不過這兩個網站報道正在訪問!?即,第一主機的ENV [「OXID」]如果我瀏覽ny1.alco.dk/something - 我得到'23'這很好,但如果我然後瀏覽到ny2.alco.dk!',我也會得到'23'?同樣 - 如果我瀏覽到ny2.alco.dk/作爲觸摸tmp/restart.txt後的第一件事,我得到'25',這將是我得到相同的價值,當隨後瀏覽到ny1.alco.dk - 嗯

回答

0

也許這是一個黑客 - 需要進一步調查,但:

如果我做

ln -s /data/www/html/alco/current ny1 
ln -s /data/www/html/alco/current ny2 

,然後編輯我/data/apache/conf.d/alco.conf持有

<VirtualHost *:80> 
    ServerName ny1.alco.dk 
    DocumentRoot /var/www/html/alco/ny1/sites/user_A/public 
    PassengerAppRoot /var/www/html/alco/ny1 
    SetEnv OXID 23 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName ny2.alco.dk 
    DocumentRoot /var/www/html/alco/ny2/sites/user_B/public 
    PassengerAppRoot /var/www/html/alco/ny2 
    SetEnv OXID 25 
</VirtualHost> 

我很好:)

我還是想第二次去就這一個 - 但現在;我很好:)

+0

舒特 - 沒什麼可以永遠持續:( 新鮮起來3.2.0,我的'黑客'是歷史 任何想法? – 2012-01-29 02:02:21

0

Rails 3.2.0包括一個config.ru這似乎是罪魁禍首 - 完全刪除它解決了我的多站點問題。

所以,到目前爲止的教訓是,如果您喜歡在類似網站之間共享代碼,那麼Rails應用程序不容易傾斜!