2015-05-29 83 views
1

我知道這裏或網上有類似的問題或演練,雖然我堅持這一點。Nginx配置與Node.js一起工作

我想建立一個本地的虛擬主機ghost.local哪裏會有鬼博客(這是對Node.js的)背景。所以我想,當我在Ubuntu 14.04機器上訪問http://ghost.local時,Nginx會將請求傳遞給Node.js,我將能夠看到我的幽靈博客。

問題

我已經設置了主機文件我已經設置了虛擬主機的nginx的我的幽靈正在對Node.js的運行雖然當我訪問http://ghost.local我得到

503服務不可用無法解析服務器的ghost.local名稱

我的hosts文件:

127.0.0.1 ghost.local 
127.0.0.1 localhost 

我的/ etc/nginx的/站點可用/ghost.local文件:

server { 
    listen 80; 
    server_name ghost.local; 
    access_log /var/log/nginx/ghost.local.log; 

    location/{   
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-for $remote_addr; 
     proxy_set_header HOST $http_host; 

     proxy_pass http://localhost:2368; 
     proxy_redirect off; 
    } 
} 

在/etc/nginx/sites-enabled/ghost.local的鏈路建立正確的。

我沒有發佈任何東西從鬼或node.js因爲http://localhost:2368已啓動並運行一切正常。

任何想法的人? 謝謝大家提前。

編輯 正如我在我的評論中提到的問題很可能是我的機器設置在一臺新機器的工作上面的配置上。

+0

請下面的行添加到您的服務器塊和後輸出,以使HTTP請求後://ghost.local:'的error_log /var/log/nginx/ghost.local.err.log調試; ' –

+0

我在另一臺機器上設置了全部,完全相同的方式,一切都很好,我仍然不確定是什麼問題。一些較小的變化是新版本的node.js新版本的npm。雖然我認爲問題出在以前的機器上,因爲事後測試我意識到代理從http:// localhost正常工作到http:// localhost:2368,而問題出在nginx的虛擬主機上。真的很感謝你,儘管你的時間。 – Akis

回答

0

首先,它似乎是你安裝了錯誤版本的nginx。你是否自己安裝,如果是的話,你應該重新安裝nginx的最新版本。

其次,我很困惑,如果您的網站是http://ghost.local

因爲server_name應該是爲您的網站子/域,她是一個例子:

server_name www.example.com example.com test.example.com; 

這裏是一個網站在http://example.com

server { 
     listen 80; 
     server_name example.com; 
     location/{ 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header Host  $http_host; 
       proxy_pass     http://127.0.0.1:2368; 
     } 
} 

server { 
     listen 80; 
     server_name www.example.com; 
     return 301 http://example.com/$request_uri; 
} 

做出基本的nginx配置確定你重新啓動nginx後綴。

service nginx restart 
+0

謝謝你的回答,正如我在編輯我的問題時所提到的。至於我的服務器名稱是的,我希望我的主要網站(ghost.local)由nginx傳遞給node.js. – Akis