2014-01-16 92 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地址替换本地主机将会诀窍

相关问题