在 CentOS 上部署的 FTP 服务器(如 vsftpd、ProFTPD)出现响应慢,常见原因和排查方向如下,按“最常见 → 较少见”排序:
现象:连接慢、登录慢,但登录后传输正常。
FTP 服务器默认会对客户端 IP 做 反向 DNS 解析(PTR),如果 DNS 不通或很慢,就会卡住。
编辑配置:
vi /etc/vsftpd/vsftpd.conf
添加或修改:
reverse_lookup_enable=NO
重启服务:
systemctl restart vsftpd
现象:连接建立慢,或某些命令卡住。
getenforce
如果是 Enforcing,可临时测试:
setenforce 0
若变快,需配置 FTP SELinux 策略:
setsebool -P ftpd_full_access on
确保被动模式端口开放:
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
现象:登录快,但 ls / 列目录非常慢。
被动模式端口未正确配置或被防火墙拦截。
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
现象:整体慢,不只是 FTP。
检查:
top
free -h
df -h
常见问题:
现象:输入账号密码后等很久。
可能是:
/etc/hosts 未配置本机尝试:
vi /etc/hosts
确保有:
127.0.0.1 localhost
可用:
ping 服务器IP
traceroute 服务器IP
查看 FTP 日志:
tail -f /var/log/vsftpd.log
# 或
journalctl -u vsftpd -f
reverse_lookup如果你能告诉我:
我可以直接给你一份“最小可用配置”。