适用CentOS7+/Ubuntu18.04+所有主流服务器发行版,所有操作默认使用root权限执行,非root用户需在所有命令前添加sudo。
先安装基础依赖:
CentOS系统执行:
``` yum install -y wget curl gcc make perl ```Ubuntu系统执行:
``` apt update && apt install -y wget curl gcc make perl g++ ```需提前放行以下端口,云服务器需同时在控制台安全组和系统防火墙配置规则:20/21(FTP传输端口)、30000-31000(FTP被动模式端口段)、873(Rsync服务端口)、9000(UDT传输端口)。
CentOS firewalld放行命令:
``` firewall-cmd --add-port=20/tcp --permanent firewall-cmd --add-port=21/tcp --permanent firewall-cmd --add-port=30000-31000/tcp --permanent firewall-cmd --add-port=873/tcp --permanent firewall-cmd --add-port=9000/udp --permanent firewall-cmd --reload ```Ubuntu ufw放行命令:
``` ufw allow 20/tcp ufw allow 21/tcp ufw allow 30000:31000/tcp ufw allow 873/tcp ufw allow 9000/udp ufw reload ```适合面向多终端、需账号权限控制的大文件上传下载场景,原生支持断点续传。
CentOS安装命令:yum install -y vsftpd
Ubuntu安装命令:apt install -y vsftpd
先备份原始配置文件:mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
新建/etc/vsftpd/vsftpd.conf配置文件,直接复制以下内容:
``` anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES 大文件专属优化 max_clients=100 max_per_ip=10 pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000 此处必须替换为你的服务器公网IP pasv_address=192.168.1.100 传输速率配置 单位B/s 0为不限速 以下为100MB/s限速 local_max_rate=104857600 anon_max_rate=104857600 断点续传支持 recv_buffer_size=1048576 send_buffer_size=1048576 async_abor_enable=YES ```必须将配置中pasv_address替换为实际服务器公网IP,否则被动模式无法连接
创建传输专用账号,禁止ssh登录仅用于文件传输:
``` 创建传输目录 mkdir -p /data/trans 创建专用用户 useradd -d /data/trans -s /sbin/nologin transuser 设置账号密码,执行后按提示输入密码 passwd transuser 目录赋权 chown -R transuser:transuser /data/trans && chmod -R 755 /data/trans ```启动服务并设置开机自启:systemctl start vsftpd && systemctl enable vsftpd
配置修改完成后执行systemctl restart vsftpd即可生效
使用验证:用FileZilla等FTP工具,输入服务器公网IP、端口21、账号transuser、自定义密码即可连接,支持断点续传。

适合服务器之间大文件增量同步、批量传输场景,默认支持断点续传,仅传输修改部分内容。
CentOS安装命令:yum install -y rsync
Ubuntu安装命令:apt install -y rsync
新建/etc/rsyncd.conf配置文件,直接复制以下内容:
``` uid = root gid = root use chroot = no max connections = 10 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log 传输模块配置 [trans] path = /data/trans comment = 大文件传输目录 read only = no list = yes auth users = rsyncuser secrets file = /etc/rsyncd.secrets hosts allow = 0.0.0.0/0 大文件优化 timeout = 600 dont compress = .gz .zip .rar .7z .iso .tar .mp4 .mkv ```创建密码认证文件:echo "rsyncuser:自定义密码" > /etc/rsyncd.secrets
必须给密码文件设置600权限,否则服务会启动失败:chmod 600 /etc/rsyncd.secrets
启动服务并设置开机自启:systemctl start rsyncd && systemctl enable rsyncd
客户端需提前安装rsync,执行以下命令即可传输文件,自动支持断点续传和增量同步:
``` rsync -avzP 本地文件路径 rsyncuser@服务器公网IP::trans/ ```参数说明:a为归档模式保留文件属性,v为显示传输详情,z为压缩传输(非压缩文件推荐开启),P为断点续传+显示进度。如需免密传输,将客户端~/.ssh/id_rsa.pub内容添加到服务端/root/.ssh/authorized_keys即可。
适合跨运营商、高延迟网络场景下的大文件传输,速率比TCP协议高3-10倍,支持断点续传。
服务端和客户端都需要执行以下安装命令:
``` wget https://udt.sourceforge.io/udt4.tar.gz tar zxvf udt4.tar.gz && cd udt4/src && make && make install && ldconfig cd ../app && make && cp sendfile recvfile /usr/local/bin/ ```服务端先执行接收命令,等待客户端传输:recvfile 9000 /data/trans/保存的文件名
客户端执行发送命令:sendfile 服务器公网IP 9000 本地大文件路径
传输中断后重新执行相同命令即可自动断点续传。
首先检查云服务器安全组、系统防火墙对应端口是否放行,其次检查配置文件中的公网IP是否填写正确,执行systemctl status vsftpd/rsyncd查看服务状态是否正常。
1. 检查VSFTPD配置中的local_max_rate参数是否设置了限速,改为0即可解除限速;2. 跨网传输优先使用UDT方案,避免TCP丢包导致的速率下降;3. 关闭服务器端QoS限速策略。
VSFTPD需确认async_abor_enable参数为YES,Rsync必须添加-P参数,UDT重新执行相同命令即可自动续传。
上一篇: 企业级服务器大数据存储架构配置与优化方案
下一篇: 构建高效服务器带宽监控体系的标准化路径
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图