2012-08-16 32 views
1

與Nginx和乘客一起工作。我已成功獲得一個應用程序/域以正常工作。但與我的服務器我有2+域我打算從nginx服務器到各自的根目錄,每個rails應用程序將生活。Nginx +乘客:多個域需要指向不同的根

我已經嘗試了很多技術,但都沒有工作。所有域都採用第一個根設置,而不是它們應該是的根。

這裏是我的nginx.conf文件:

server { 
    listen 80; 
    server_name www.danielcw.info; 
    root /root/public/danielcw.info/public; # <--- be sure to point to 'public'! 
    access_log /root/public/danielcw.info/log/access.log; 
    error_log /root/public/danielcw.info/log/error.log; 
    passenger_enabled on; 
    rails_env development; 
    } 

    server { 
    listen 80; 
    server_name www.ericoppi.com; 
    root /root/public/ericcoppi.com/public; # <--- be sure to point to 'public'! 
    access_log /root/public/ericcoppi.com/log/access.log; 
    error_log /root/public/ericcoppi.com/log/error.log; 
    passenger_enabled on; 
    rails_env development; 
    } 

任何幫助,非常感謝!

+0

您是否嘗試過在進行配置更改後重新啓動服務器? – Max 2012-08-16 22:33:43

回答

1

該配置應該正常工作 - 我會做的唯一的變化是通過nginx的同時服務於www和不帶www:

server { 
    listen 80; 
    server_name danielcw.info www.danielcw.info; 
    root /root/public/danielcw.info/public; 
    access_log /root/public/danielcw.info/log/access.log; 
    error_log /root/public/danielcw.info/log/error.log; 
    passenger_enabled on; 
    rails_env development; 
    } 

    server { 
    listen 80; 
    server_name ericoppi.com www.ericoppi.com; 
    root /root/public/ericcoppi.com/public; 
    access_log /root/public/ericcoppi.com/log/access.log; 
    error_log /root/public/ericcoppi.com/log/error.log; 
    passenger_enabled on; 
    rails_env development; 
    } 

確保您已編輯配置文件後,重新啓動nginx的。

+0

謝謝,我想補充一點,最後一點點工作。 – DanielCW 2012-08-17 03:56:16

+4

如果您使用之前的配置訪問了no-www版本,它將與兩個服務器塊都不匹配。然後nginx會選擇它認爲是「默認」的服務器,這樣看起來就像你在兩個域中看到的是同一個站點。 – 2012-08-17 14:12:50