Linux相关服务不能访问的排错步骤,以HTTP服务为例:
一、服务端排查思路:
1、检查SELinux是否关闭(针对CentOS6系统)
(1)临时关闭
setenforce 0
(2)修改配置文件,永久关闭
编辑/etc/selinux/config配置文件,将"SELINUX=enforcing"改为"SELINUX=disabled"
2、检查防火墙
(1)学习环境
/etc/init.d/iptables stop 临时关闭
chkconfig iptables off 设置开机不启动防火墙
/etc/init.d/iptables status 查看防火墙状态
(2)有外网ip的生产环境
设置防火墙规则,允许相关服务的端口访问(以80端口为例),而不是直接关闭防火墙
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
3、检查服务端口以及服务进程是否存在(以HTTP服务、80端口为例)
(1)检查80端口是否存在
netstat -lntp | grep 80 或者 lsof -i :80
(2)检查HTTP服务进程是否存在
ps -ef | grep http | grep -v grep
(3)服务器本地wget测试(以HTTP服务为例)
wget http://127.0.0.1
4、查看HTTP服务的日志
注:第3步的(3)中把本地服务器当做客户端来模拟用户检查HTTP服务,可以排除防火墙的干扰,如果可以正常访问,
那么说明HTTP服务没问题,需要排查网络或者防火墙的问题。
二、客户端排查思路:
1、检查物理线路问题,在客户端ping服务器地址(假设服务器地址为192.168.14.111)
ping 192.168.14.111
2、检查防火墙影响,在客户端使用telnet命令测试(假设服务器地址为192.168.14.111,HTTP服务端口为80)
telnet 192.168.14.111 80
3、模拟用户访问,检查HTTP服务自身问题,在客户端使用wget或curl命令测试
wget 192.168.14.111 或者 curl -I 192.168.14.111