您的位置:首页 > 运维架构 > Apache

Windows无法访问VMWare虚拟机下CentOS的apache服务器

2016-05-02 22:38 465 查看
本文文字纯手打,请按照步骤操作即可。

问题建立在以下几点:

1. 你已经在CentOS下安装好了Apache服务器(或者你想访问PHP,你得安装好PHP)。

还没安装好apache的请看这里:Apache用户指南

还没安装好PHP的看这里:PHP用户指南

2. 你的虚拟机能够ping通主机(最好是能ping通外网,例如:www.baidu.com),如果不能请查看本人相关博客文章,或者另外网上找。

3. 你的主机能够ping通虚拟机的IP,如不能,解决办法如2中所描述,呵呵哒。

4. 如果上面三点你都没有问题,你的Apache能够正常启停(httpd服务),注意这个是你自己安装的apache服务器管理程序(/usr/local/apache2/bin/apachectl ),如果你的centos默认安装了httpd服务,那么请先卸载原来的,大概位置(/etc/rc.d/init.d/httpd),这造成了我一些错觉。先安装自己的httpd服务再卸载也是没有问题的。卸载方法如下:

1)关闭httpd服务 : service httpd stop (这种方法比较稳妥)

2)找出系统相关的httpd服务:rpm -qa|grep httpd

3) 卸载:rpm -e httpd (如果有依赖服务阻止卸载,如果不是很重要的,请卸载依赖服务,保证卸载完成)。

4)在卸载系统自带httpd服务后,请cp /usr/local/apache2/bin/apachectl
/etc/rc.d/init.d/httpd,这里连名字都改了,这个做的原因是能够使用service httpd start来启动你自己安装的apache服务器。省的每次都搞混淆。
5. 你的network启停正常(service network restart)。

如果以上5点你都搞定了,那么还不能通过windows浏览器访问虚拟机CentOS的IP的方式访问到index.html(或者index.php),那么请检查如下环节:

1. 关闭windows防火墙。

2. 查看centos是否安装了防火墙,如果没有安装,请先安装防火墙,安装方式:yum install iptables-services

安装完防火墙,请打开80端口(一般测试都是开80端口,这个由你自己决定httpd.conf设置)。
打开方式:
1)vim /etc/sysconfig/iptables

2)添加一行:-A INPUT -m state --state NEW
-m tcp -p tcp --dport 80 -j ACCEPT

3)重新启动网络和防火墙: service network restart , service iptables stop , service iptables start

注意:你的防火墙状态即使正常,也不代表防火墙设置生效了,service iptables status,这就是为什么要重启防火墙和网络的原因。

3. 使用windows的telnet查看防火墙是否开放80端口:telnet 192.168.199.213 80,如果打开了,能连上,那么就ok了。不能访问,那么是显而易见的。如果不能cmd使用telnet,请百度一下,怎么打开windows的cmd下telnet服务。

至此,应该是没有问题了,本人亲测。其实在虚拟机能够正常访问外网,或者ping通主机的情况下,多半是因为没有开启80端口的访问权限,而博主的主要原因没找到是因为,CentOS我选择安装的时候没有安装防火墙,使用telnet访问22端口(ssh端口)的时候,是可以正常访问的,可能80端口使用的TCP协议访问环节,需要一部分防火墙的模块协助,这个属于本人的猜测,没有防火墙,还不能访问了。

更多问题,请留言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: