问题表现:在虚拟机中安装好apache的rpm包,在真实机上却无法访问。
解决思路:
1. 确定你的Apache是否安装
如果和我一样,使用的是yum安装Apache的rpm包
首先检查apache是否正确安装,命令如下
rpm –qa|grep httpd*
若没有相关返回值,则说明你的apache并没有安装成功
2. 确定Apache的安装方式及启动方法
我在这里绕了很大的弯路!
如果你使用的是yum安装Apache的rpm包,那么你的默认位置是
cd /etc/httpd
启动apache的命令是
httpd –k start
同理,重启、关闭的命令分别是
httpd –k restart
httpd –k stop
注意注意注意!
网上很多教程,写的apache教程目录为
/usr/local/apache
然后通过命令
/usr/local/apache/bin/apachectl startapache
或者
service httpd start
那是因为,别人不是使用的rpm包安装,而是用的官网压缩包。所以,根据安装的方式,一定要找对apache教程。要不和我一样,死活启动不了。
3. 检查是否已经启动
使用命令
ps –ef|grep httpd*
如果存在用户名为apache的进程,则说明运行成功
4. 配置端口
使用yum安装的rpm压缩包,配置文件路径为
/etc/httpd/conf
找到对应的Listen,将端口值改为8080。
5. 检查端口是否正常开放
这里又是我被坑惨的地方。
请使用以下命令
netstat –an,如果有8080端口,则说明开放端口成功。
注意!不要只使用netstat查看,因为根本看!不!到!。我就是因为命令使用错误,没有看见端口打开,以为自己哪里出问题了。
6.最后,将网页的测试文件放入/var/www/html下,即可登录验证。
若还是不行,说明防火墙打开,关闭防火墙即可。
首先检查80商品是否已经开启
复制代码
代码语言:javascript复制1netstat -an | grep 80
说明apache已经运行啦
但这时候如果从浏览器访问测试的时候还是打不开(我的是这种情况)
这个时候就要在服务器上打开浏览器测试看服务器本地访问是不是正常啦
使用下面命令打开 http://127.0.0.1
复制代码
代码语言:javascript复制1curl http://127.0.0.1
如果出现 it's work! 说明服务器端访问是正常的,这个时候可能是防火墙没有开启80端口
CentOS 7.0默认使用的是firewall作为防火墙,将防火墙关闭再试下
复制代码
代码语言:javascript复制1systemctl stop firewalld.service
再打开试下 ok 成功