服务器IP正常在线但站点、FTP无法连接该如何排查修复
站点与FTP服务同时不可访问故障排查步骤
外部连通性预排查
- 先验证端口可达性:IP可ping通仅代表ICMP协议放行,不代表业务端口可用。使用
telnet 服务器IP 80、telnet 服务器IP 21分别测试Web服务、FTP服务默认端口连通性,也可以用nc -zv 服务器IP 端口号得到更清晰的连通结果。如果端口不通,优先进入服务状态、防火墙规则排查环节。
服务器端本地排查
1. 业务服务状态检查
- 查看对应服务的运行状态:
- Nginx服务:执行
systemctl status nginx - Apache服务:执行
systemctl status httpd - vsftpd服务(常用FTP服务):执行
systemctl status vsftpd
- Nginx服务:执行
- 若服务显示为
inactive或failed状态,直接查看服务报错日志定位原因:- Nginx默认错误日志路径:
/var/log/nginx/error.log - Apache默认错误日志路径:
/var/log/httpd/error_log - vsftpd默认日志路径:
/var/log/vsftpd.log
- Nginx默认错误日志路径:
- 常见服务异常原因:
- 近期修改过服务配置未校验合法性就重启,导致服务启动失败:回滚最近的配置更改,执行配置校验命令(比如Nginx执行
nginx -t)确认配置无误后再重启服务。 - 进程因内存不足被系统OOM杀死:执行
dmesg | grep -i oom查看系统日志是否有OOM击杀记录,确认后可通过扩容服务器内存、调整服务内存占用上限、新增交换分区临时缓解。
- 近期修改过服务配置未校验合法性就重启,导致服务启动失败:回滚最近的配置更改,执行配置校验命令(比如Nginx执行
2. 防火墙与访问规则检查
- 系统防火墙规则验证:
- firewalld环境执行
firewall-cmd --list-all,ufw环境执行ufw status,确认80、443(HTTPS)、21端口,以及FTP被动模式端口范围已放通。如果规则丢失,大概率是之前添加的规则未设置永久生效,防火墙重启后规则失效,重新添加规则并设置永久生效即可,例如firewalld放通80端口命令:firewall-cmd --add-port=80/tcp --permanent && firewall-cmd --reload。 - 云服务器需要额外检查服务商控制台的安全组规则,确认是否有近期规则变更拦截了业务端口。
- firewalld环境执行
3. 资源与权限检查
- 端口占用验证:执行
netstat -tulpn | grep :80、netstat -tulpn | grep :21确认业务端口的监听进程是否为对应Web、FTP服务,若端口被其他异常进程占用,终止异常进程或调整业务服务的监听端口即可。 - 磁盘状态验证:执行
df -h检查磁盘使用率,若根目录或站点、FTP目录所在磁盘已满,服务无法写入临时文件、日志也会导致异常,清理无用日志、缓存文件或扩容磁盘即可恢复。 - 权限验证:检查站点根目录、FTP目录的权限是否被误改,确保Web服务运行用户、FTP用户对对应目录有合法的读写权限。
- 安全工具拦截验证:若服务器部署了fail2ban等防暴力破解工具,执行
fail2ban-client status确认访问端IP是否因多次密码输入错误被临时封禁,若被封禁将IP加入白名单即可。
修复验证
- 所有调整完成后,先在服务器本地执行
curl localhost:80验证Web服务返回正常,执行ftp localhost验证FTP可正常登录,确认无异常后再从外部客户端访问验证。
内容的提问来源于stack exchange,提问作者Abdalla Mohamed Aly Ibrahim
相关产品推荐
相关产品推荐

