温馨提示×

centos ftpserver怎样优化

小樊
52
2026-09-21 07:48:43
栏目: 智能运维

在 CentOS 上优化 FTP 服务器(常见为 vsftpd,也可能是 ProFTPD / pure-ftpd),通常从性能、并发、安全、内核参数、磁盘/网络几个方面入手。下面以 vsftpd(最常用) 为主说明,并补充通用优化建议。


一、选择并确认 FTP 服务

rpm -qa | grep vsftpd

若未安装:

yum install -y vsftpd

二、vsftpd 核心优化配置(/etc/vsftpd/vsftpd.conf)

1. 并发与连接优化

max_clients=1000
max_per_ip=20
listen=YES
listen_ipv6=NO

2. 被动模式(推荐,防火墙友好)

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

3. 传输性能优化

async_abor_enable=YES
write_enable=YES
local_umask=022

4. 用户与权限

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

5. 日志(排错用,不建议长期开 debug)

xferlog_enable=YES
xferlog_std_format=YES

重启:

systemctl restart vsftpd

三、系统层面优化(非常重要)

1. 文件描述符限制

ulimit -n

永久修改:

/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535

2. 内核网络参数(/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

四、防火墙与 SELinux

防火墙

firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload

SELinux(如不开 FTP)

setsebool -P ftpd_full_access on

五、磁盘与性能建议

  • 使用 XFS / ext4
  • 避免 FTP 目录在系统盘
  • 大文件传输时:
    • 关闭病毒扫描
    • 避免实时备份

六、替代方案(高并发场景)

如果 FTP 压力很大,可考虑:

  • SFTP(OpenSSH)
  • nginx + WebDAV
  • 对象存储(MinIO / S3)

七、性能测试方法

ftp localhost

或使用:

lftp -e "put bigfile; quit" ftp://user:pass@host

如果你能提供:

  • CentOS 版本
  • FTP 软件(vsftpd / proftpd / pure-ftpd)
  • 使用场景(内网 / 公网 / 大文件 / 多用户)

我可以给你更精确的优化配置。

0 踩