你的位置:首页 > Java教程

[Java教程]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开机启动
关闭防火墙后问题解决,皆大欢喜