2014-01-16 88 views
2

首先,我想說,我搜查,似乎類似主題的詢問與的的NodeJS用法簡單的問題,但所有這些的重點「我的nodejs代碼有什麼問題」,但我知道我的nodejs有效,但我的例子沒有。我正在尋找一些有經驗的人給我一些建議,爲什麼我的例子不起作用。無法訪問Node.js的Web服務器在虛擬機內


我最近成立了一個LAMP堆棧的虛擬機的Ubuntu(使用VMware播放器)和安裝上的NodeJS。我做了一個簡單的程序來驗證我的安裝,它按預期工作:

nodejs_test.js:

console.log('Hello World'); 

接下來,我嘗試了更大的例子,在網上找到:

var http = require('http'); 

var server = http.createServer(function(req, res) { 
    res.writeHead(200); 
    res.end('Hello Http'); 
}); 
server.listen(8080); 

我已嘗試以下所有內容http://localhost:8080, http://127.0.0.1:8080, curl localhost:8080

隨着前兩個(裝載在我的桌面的Chrome瀏覽器中)請求超時到「oops」頁面。運行curl方法沒有輸出,但顯然問題是相同的。

這是我第一次對web-dev進行破解,所以隨意假設最小的錯誤。

+0

您是否正確設置了虛擬機?您通常需要將主機的8080 TCP端口轉發到虛擬機的8080 TCP端口。 –

+0

不,我沒有。我需要訪問我的虛擬機的地址,而不是我的本地機器。最終我需要轉發我的端口,以便外部客戶端可以訪問它,但寶貝步驟是關鍵。謝謝! – Joshua

回答

4

localhost/127.0.0.1是您的機器的地址,而不是您的VM。如果你想去你的虛擬機,你需要去它的IP地址。

或者,您可以設置端口轉發,以便您的本地端口轉發到VM上的端口。

+0

就是這樣,呃。我嘗試訪問在ifconfig中返回的地址上的端口8080,它的工作就像一個魅力。我知道這一定很簡單。 – Joshua

0

用您的IP地址替換本地主機將會訣竅

相關問題