2013-10-22 95 views
8

對於開發,我想在不同的本地域上提供多個項目,全部位於端口80.在我的hosts文件中,我將local.example.com指向localhost,與local.example2.com相同。如何在nginx上爲同一端口提供多個域名

現在我試圖說服nginx爲一個url提供示例資源,爲另一個url提供example2資源。

我讀過nginx文檔和this blog post。但我認爲我必須錯過一些東西。

我已經添加到我的nginx.conf:

include /Users/iwein/Sites/conf/*.conf; 

然後在我的網站添加配置類似example.conf

server { 
    listen 80; 
    server_name local.example.com; 
… 

example2.conf

server { 
    listen 80; 
    server_name local.example2.com; 
… 

現在怪異事情是,nginx似乎加載按字母順序第一個配置,但在第二個網址,它是也從第一個服務器定義中獲得資源。 Nginx似乎完全忽略了server_name。我應該如何配置這個用例?

UPDATE:

看來,如果在域名(例如example1.local)只使用一個分隔符,它工作得很好。我沒有進一步追求這一點,因爲我有更好的事情要做,但這很奇怪。

+0

您是否在創建這些文件後重新加載nginx配置?因爲他們似乎是正確的。 –

+0

是的,我做了@MohammadAbuShady。好幾次 – iwein

+0

第二個猜測是你所請求的URL不匹配'server_name'或匹配錯誤的URL,或者你有另一個匹配相同請求的服務器?在這之前它首先被擊中。 –

回答

1

顯然,nginx不喜歡我的服務器名稱的格式。如果我刪除「本地」子域名,它似乎工作得更好。我現在與​​和example2.dev一起工作,問題不復存在。

相關問題