2013-08-26 73 views
1

一直試圖尋找一段時間,但似乎無法找到解決方案。我想通過nginx在一臺服務器上設置多個應用程序。目前的nginx.conf如下:Nginx爲多個應用程序與不同的子域

server { 
    listen 80; 
    server_name mydomain.co; 
    root /mydomain/current/public; 
    passenger_enabled on; 
    rails_env production; 
} 

server { 
    listen 80; 
    server_name testing.mydomain.co; 
    root /mydomain-test/current/public; 
    passenger_enabled on; 
    rails_env test; 
} 

它提供了正確的環境(測試),但不提供正確的代碼庫。我通過ssh檢查了目錄mydomain-test,它包含了最近的代碼,但沒有被nginx提供服務。

基本上,我想要的是:

mydomain.co to serve /mydomain/current/public 
testing.mydomain.co to serve /mydomain/current/public 

這是如何正確地做了什麼?

+1

我認爲你的意思是說「testing.mydomain.co服務**'/ mydomain-test/...'**」來代替。 –

回答

0

我相信根指令應該在位置部分。我不確定rails指令和passenger_enabled指令,但其餘的與我使用和運行的類似。也許最好也指定索引腳本(我已將它設置爲index.php,但適當更改)。

一旦做出更改,務必重新啓動nginx。

server { 
    listen 80; 
    server_name mydomain.co; 
    location/{ 
     root /mydomain/current/public; 
     index index.php; 
    } 
    passenger_enabled on; 
    rails_env production; 
} 

server { 
    listen 80; 
    server_name testing.mydomain.co; 
    location/{ 
     root /mydomain-test/current/public; 
     index index.php; 
    } 
    passenger_enabled on; 
    rails_env test; 
} 
+0

嗨,彼得,謝謝你的回覆。原來的配置工作只需要重啓就可以了。 –

相關問題