无法访问虚拟机内的node.js Web服务器

时间:2014-01-16 18:48:25

标签: node.js localhost lamp

首先,我想说我搜索并看似类似的主题,询问有关nodejs的简单用法的问题,但所有这些都关注“我的nodejs代码有什么问题”,而我知道我的nodejs有效,但我的例子没有。我正在寻找一些有经验的人给我一些建议,说明为什么我的例子不起作用。


我最近在虚拟ubuntu计算机(使用VMware Player)上安装了LAMP堆栈并安装了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进行破解,所以请随意承担最小的错误。

2 个答案:

答案 0 :(得分:4)

localhost / 127.0.0.1是您机器的地址,而不是您的VM。如果要转到VM,则需要转到其IP地址。

或者,您可以设置端口转发,以便本地端口转发到VM上的端口。

答案 1 :(得分:0)

用您的IP地址替换本地主机将起到作用