nodejs之主机不能访问到虚拟机的web服务器

问题:在主机使用VMware搭建虚拟机,并运行node。但是主机浏览器不能访问

环境:虚拟机使用centos7,网络模式为桥接。主机IP 192.168.1.48  虚拟机IP 192.168.1.59  可以相互ping通

node代码如下:

var express = require('express');
var app = express();

app.get('/',function(req,res){
    res.send('hello world!\n');
});
app.get('/admin',function(req,res){
    res.send('this is admin!\n');
});
app.listen(3000);

解决:

1. 虚拟机本身可以访问该服务器,结果如图

2.主机一开始输入http://localhost:3000不能访问。

后来才知道应该输入虚拟机的IP 192.168.1.59:3000,但是这时候还是不能访问服务器。

3.后来想想应该是虚拟机防火墙没关闭。centos7的关闭防火墙命令:

systemctl stop firewalld.service     #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
关闭防火墙后问题解决,皆大欢喜


 

posted @ 2016-11-14 17:01    阅读(1557)  评论(0编辑  收藏  举报