解决本地无法访问vm虚拟机上centos7服务器中已配置好的hugo站点的问题

一、配置VM网络连接

打开vm,找到“编辑”,打开“虚拟网络编辑器”

选中下面截图中的上方为类型为“NAT模式”那一栏,然后点击下方的“NAT设置”按钮

打开下面的窗口

从上面截图可以看到89和90这两个端口是以前很早就已经配置好的,现在我需要添加一个新的端口映射,本地91端口映射到虚拟机上的4202端口,点击“添加”按钮

依次设置上面截图中的

  1. 主机端口:91
  2. 虚拟机IP地址:192.168.134.146
  3. 虚拟机端口:4202

设置好之后依次点击确定,这样在vm上的配置就完成了

二、配置虚拟机上的centos7防火墙

查看现有服务器上已经开放的端口列表

[root@localhost ~]# firewall-cmd --zone=public --list-ports
80/tcp 3306/tcp 9501/tcp 4200/tcp 6379/tcp 6380/tcp 1313/tcp

可以看到4202端口并未开启,下面进行开启

[root@localhost ~]# firewall-cmd --zone=public --add-port=4202/tcp --permanent
success

重启 firewall 服务

[root@localhost ~]# firewall-cmd --reload

查看4202端口是否开启成功

[root@localhost ~]# firewall-cmd --zone=public --query-port=4202/tcp
yes

出现 "yes" 说明端口开启成功

查看端口4202是否被占用

[root@localhost ~]# netstat -nltp|grep 4202

执行上面的命令之后,结果没有显示什么信息,说明该端口并没有被占用,可以正常使用

三、开启hugo服务
[root@localhost ~]# hugo server -p 4202 -D
                   | EN  
+------------------+----+
  Pages            | 37  
  Paginator pages  |  0  
  Non-page files   |  0  
  Static files     |  6  
  Processed images |  0  
  Aliases          | 15  
  Sitemaps         |  1  
  Cleaned          |  0  

Total in 77 ms
Watching for changes in /mydata/www/myweb/{archetypes,content,data,layouts,static,themes}
Watching for config changes in /mydata/www/myweb/config.toml
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at //localhost:4202/ (bind address 127.0.0.1)
Press Ctrl+C to stop
四、测试连接

在浏览器上输入地址:http://127.0.0.1:91/

在本地电脑打开 cmd 命令窗口,执行 telnet 命令

C:\Users\Administrator>telnet 192.168.134.146 4202
正在连接192.168.134.146...无法打开到主机的连接。 在端口 4202: 连接失败

上面提示连接失败,无法连接,

这是什么原因呢,防火墙已经打开,hugo 服务也已经开启就是无法访问

在服务器上查看端口4202占用信息

[root@localhost ~]# netstat -nltp|grep 4202
tcp        0      0 127.0.0.1:4202          0.0.0.0:*               LISTEN      32464/hugo

可以看到端口4202被绑定到服务器上的127.0.0.1这个IP地址上了,所以其他IP从外部无法访问,这是问题产生的原因,既然找到原因,下一步重新再开启下hugo服务,将4202端口重新绑定到IP “0.0.0.0” 上,任何IP都可访问

[root@localhost ~]# hugo server --bind "0.0.0.0" -p 4202 -D
                   | EN  
+------------------+----+
  Pages            | 37  
  Paginator pages  |  0  
  Non-page files   |  0  
  Static files     |  6  
  Processed images |  0  
  Aliases          | 15  
  Sitemaps         |  1  
  Cleaned          |  0  

Total in 64 ms
Watching for changes in /mydata/www/myweb/{archetypes,content,data,layouts,static,themes}
Watching for config changes in /mydata/www/myweb/config.toml
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at //localhost:4202/ (bind address 0.0.0.0)
Press Ctrl+C to stop

在cmd命令窗口执行telnet命令

C:\Users\Administrator>telnet 192.168.134.146 4202

没有报错,说明可以正常连接

再在浏览器上访问地址:http://127.0.0.1:91/,现在可以成功打开页面了,问题成功的解决了,^_^。

猜你喜欢

转载自www.cnblogs.com/goujian/p/11823808.html