今天,一朋友的一台linux服务器上部署了nginx,但是外部(公网)就是不能访问,于是协助其排查。整体思路如下:
1、确认nginx配置是否ok。
2、确认网络是否可达。
3、是否受防火墙安全控制等。
4、排除以上原因之后,远程实际再测试。
那么开始排查:
1、确认nginx配置是否ok。
1.1、检查nginx的配置。
发现有报错
2013/11/13 15:35:09 [emerg] 7739#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
netstat -lanp|grep 80
原来有httpd进程(apache),关闭之
1.2本机是否可以访问(公网ip)
本机curl http://12x.xx.x.xx/ 发现是ok的,日志正常打印(access.log有滚动)
2、确认网络是否可达
telnet 12x.xx.x.xx 80
Trying 12x.xx.x.xx...
Connected to 12x.xx.x.xx.
Escape character is '^]'.
这样就说明网络上可达,并且TCP三次握手可以完成,因为能telnet通,排除了网络不通的情况
。
3、是否受防火墙安全控制等。
将iptables和selinux关闭
以下4条命令清除iptables的配置
iptables -F
iptables -F -t nat
iptables -X
iptables -X -t nat
set
版权声明:本文为weixin_34900758原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。