在 CentOS 上优化 FTP 服务器(常见为 vsftpd,也可能是 ProFTPD / pure-ftpd),通常从性能、并发、安全、内核参数、磁盘/网络几个方面入手。下面以 vsftpd(最常用) 为主说明,并补充通用优化建议。
rpm -qa | grep vsftpd
若未安装:
yum install -y vsftpd
/etc/vsftpd/vsftpd.conf)max_clients=1000
max_per_ip=20
listen=YES
listen_ipv6=NO
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
async_abor_enable=YES
write_enable=YES
local_umask=022
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
xferlog_enable=YES
xferlog_std_format=YES
重启:
systemctl restart vsftpd
ulimit -n
永久修改:
/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
/etc/sysctl.conf)net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
生效:
sysctl -p
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload
setsebool -P ftpd_full_access on
如果 FTP 压力很大,可考虑:
ftp localhost
或使用:
lftp -e "put bigfile; quit" ftp://user:pass@host
如果你能提供:
我可以给你更精确的优化配置。