Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)

上一篇博客地址:Tshare校园资源分享平台(网站开发一之环境搭建)

回顾

上一篇博客我们已经在一个虚拟机上搭建好了apache+mysql+php的环境,并且在虚拟机的浏览器中成功的访问到了web站点中的index.php。

新内容

本篇博客将会讲解如何在主机的浏览器中访问到虚拟机的apache服务,毕竟虚拟机流畅性不如主机,而且主机是Windows系统或mac os系统,可以方便地下载安装自己喜欢地浏览器(这里建议使用Chrome浏览器)。

  • 让虚拟机和主机能够互ping

前面说过,我选择的是VMware虚拟机,在VMware上实现虚拟机和主机通讯并不需要繁琐的步骤。

1.将虚拟机的网络连接模式设置为NAT模式(网络地址转换)

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

2.点击编辑,选择虚拟网络编辑器,点击右下角的更改设置,然后修改子网ip和子网掩码

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

3.将多余的网络移除,只剩下VMnet8

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

4.选择NAT模式(与虚拟机共享主机IP),在点击NAT设置,设置网管IP为192.168.10.2

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

5.将两个钩选中,然后点击DHCP设置

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

6.设置动态IP范围

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

7.打开网络适配器中的VMnet8属性

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

8.设置其ip地址和子网掩码

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

9.重启虚拟机,打开终端输入ifconfig查看虚拟机ip地址,并尝试在主机的命令行下ping这个ip

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

  • 主机通过虚拟机ip访问虚拟机的apache服务

centos系统的防火墙会禁止外网访问某些端口,除非让防火墙开放端口。当然seLinux也是一个让人非常头疼的东西,很多时候即使防火墙开发端口,仍然不能访问,原因就是selinux在搞鬼。所以首先我们就把selinux关闭了。

vim /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disable
#保存退出,重启虚拟机,开启apache服务,在主机浏览器中访问虚拟机ip

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

访问成功!(如果访问失败,可能是防火墙没有开启80端口,可以百度如何让防火墙开放端口的指令)

  • 主机上连接mysql

如果你的主机上下载mysql的图形操作界面(navicat for mysql),还可以在主机上远程连接虚拟机的mysql(当然前提是虚拟机开启了mysql服务)
《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

此时连接会报错,告诉我们192.168.10.1这个ip地址无法远程连接到虚拟机数据库,需要对虚拟机数据库做一些更改

#登录mysql
/var/mysql/bin/mysql -uroot -p
password:此处输入密码

mysql> use mysql;
mysql> update user set host = '%' where user ='root';
mysql> flush privileges;

#重启mysql服务

再次远程连接,即可连接到虚拟机的数据库。当然我这里直接使用了root用户登录,你可以创建一个新用户

《Tshare校园资源共享平台(网站开发二之主机浏览器访问虚拟机apache)》

总结

虚拟机和主机能够通讯是关键,然后是绕过防火墙,就能达到我们的目的了。
下一篇博客地址:Tshare校园资源分享平台(网站开发三之数据库连接)

    原文作者:傅豪
    原文地址: https://segmentfault.com/a/1190000019320566
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞