今天忙完手头工作后,开始来在centos上安装nginx了。根据技术胖(www.jspang.com)博客的nginx教程,我先后在阿里云ESC的centos服务器上和本地VM虚拟机centos上来安装。
具体的安装步骤可以移步技术胖博客,在阿里云ESC服务器上安装一切顺利,但在本地虚拟机上安装nginx时却出现了点问题,这里说明下本地宿主机为win7环境,虚拟机版本VM14安装的centos7。
在前期的顺利安装好之后,启动虚拟机nginx服务:
systemctl start nginx.service
但在宿主机上却访问不了,开始以为虚拟机上nginx没有启成功,所以打算回到虚拟机上重启nginx服务。
先查看虚拟机端口占用情况:netstat -ntpl
,查看具体端口使用情况,结果没有问题。
接下来重启看看?
先关闭再重启:
# systemctl stop nginx.service
# systemctl start nginx.service
也可以直接重启:
# systemctl restart nginx.service
启动之后输入ps aux | grep nginx
命令来查看是否启成功,输出结果如下:
结果显示启动成功。
但切回宿主机却依然访问不了虚拟机nginx服务。确认地址与端口号输入正确后,就有点纳闷了,,,
此时再返回虚拟机查看能否在虚拟机访问服务网页内容:
# curl 192.168.114.128:80
返回结果显示正确网页内容:
一段时间的谷歌翻找之后,看到有博客提出可能是虚拟机centos防火墙设置的问题,于是进行验证测试。
先在宿主机与虚拟机进行互ping,结果均能ping通,然后就来检查服务器端口80能否访问到:宿主机telnet 192.168.114.128 80
,结果果然访问不到,那就是防火墙设置问题了。
在虚拟机上进行防火墙配置。
打开配置文件:
# vim /etc/sysconfig/iptables
输入:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
配置完保存退出,重启nginx服务:systemctl restart nginx.service
此时宿主机再访问虚拟机nginx服务地址就可以了。
总结:在使用虚拟机centos安装nginx服务时,确保虚拟机已联网,宿主机与虚拟机ping通,nginx安装启动成功的前提下,如宿主机还是不能访问虚拟机的nginx服务,可以在虚拟机中使用 curl IP地址:端口 查看是否能在虚拟机访问nginx服务,如也能访问成功,那就可以看下否防火墙设置问题。