游客
3步搞定!2026云服务器搭建FTP服务器教程

3步搞定!2026云服务器搭建FTP服务器教程

一言准备中...

云服务器搭建FTP服务器教程:从零到生产环境的实战指南

本文基于我在多个生产环境中的实操经验,手把手教你如何在云服务器上搭建稳定、安全的FTP服务器。无论你是博客站长、公司文件共享需求,还是数据备份场景,这篇文章都能让你少走弯路。

一、为什么选择用云服务器搭建FTP?

很多新手喜欢用学生机或者免费主机搞FTP,结果发现要么带宽太小传文件慢到崩溃,要么安全组规则不开放端口导致连不上。我的建议是:搞FTP服务器,一定要选有弹性带宽、支持自定义安全组的云服务器。这里推荐我长期在用的沐雨云服务器,配置灵活、带宽充足,后台安全组规则设置非常清晰,尤其适合做文件服务。

沐雨云服务器官网: https://www.muyuyun.cn

二、准备工作:选购与初始配置

1. 服务器配置建议

  • CPU:1核足够,并发文件传输不多的话2核更稳
  • 内存:1~2GB(vsftpd很省内存)
  • 系统:CentOS 7 / Ubuntu 20.04(我以CentOS 7为例)
  • 带宽:至少5Mbps,否则大文件传输能急死人
  • 数据盘:如果存储量大,建议挂载云硬盘,别把系统盘塞满

2. 安全组开放端口

这是80%新手翻车的地方。登录沐雨云服务器管理后台 → 安全组 → 添加规则:

  • TCP 21(FTP控制端口)
  • TCP 20(FTP数据端口,主动模式)
  • 一个端口范围,比如 50000~60000(被动模式数据端口)
  • 源:0.0.0.0/0(不限制IP)或指定你办公IP

避坑提醒:别只开21端口,被动模式会随机选端口,连不上大多是因为被动端口没放行。

三、安装vsftpd(以CentOS 7为例)

yum install -y vsftpd
systemctl enable vsftpd
systemctl start vsftpd

Ubuntu用 apt install vsftpd 即可。

检查运行状态:systemctl status vsftpd 显示active (running)就对了。

四、核心配置:打造生产可用FTP

配置文件位置 /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
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=60000
pasv_address=你的服务器公网IP
local_root=/data/ftp
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/user_config
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_enable=NO

重点说明几个关键参数:

  • chroot_local_user=YES:限制用户只能访问自己的家目录(安全!)
  • allow_writeable_chroot=YES:允许家目录可写(否则报500错误)
  • pasv_address必须填你的服务器公网IP,不然客户端连不上被动模式
  • local_root:如果不设置,默认是用户家目录;自定义更方便

避坑提醒1:如果用户家目录设置成可写,一定要加 allow_writeable_chroot=YES,否则客户端登录后报 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

避坑提醒2pasv_address 千万别写成内网IP,否则外面连不上。

五、创建FTP用户

传统Linux用户即可,但为了安全,建议使用虚拟用户。这里讲更常用的本地用户方式(简单够用)。

useradd -d /data/ftp -s /sbin/nologin ftpuser
passwd ftpuser   # 设置密码,生产用强密码
chown -R ftpuser:ftpuser /data/ftp
chmod 755 /data/ftp

-s /sbin/nologin 禁止该用户SSH登录,只允许FTP。

如果想限制某个用户只能访问特定目录,在 /etc/vsftpd/user_config/ 下创建以用户名命名的文件,写入:

local_root=/data/ftp/user1

六、防火墙放行(重要)

如果用 systemctl 防火墙(firewalld):

firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=50000-60000/tcp --permanent
firewall-cmd --reload

如果用的iptables,自行开放相应端口。

避坑提醒:很多云服务器安全组配完了,但服务器内部防火墙没关或没放行,同样连不上。先 systemctl stop firewalld 测试,能连了再优化规则。

七、测试连接

推荐使用 FileZilla 客户端(免费)。连接信息:

  • 主机:你的云服务器公网IP
  • 用户名:ftpuser
  • 密码:刚才设置的
  • 端口:21
  • 传输模式:被动(勾选)

如果报“无法读取目录列表”,一般是被动端口没放通,检查安全组和服务器防火墙。

八、生产环境避坑合集

  1. 不要用匿名FTP:除非你故意做公共资源站,否则别人可以任意上传恶意文件。
  2. 限制IP访问:如果只给内部员工用,安全组源IP只放公司公网IP或VPN IP。
  3. 开启日志xferlog_enable=YES 可以记录所有上传下载日志,方便排查问题。
  4. 禁用普通用户登录shell:如前面 -s /sbin/nologin
  5. 定期更换密码:尤其当FTP暴露在公网,被暴力破解是常事。
  6. 考虑FTPS/SFTP:vsftpd支持SSL加密,但配置稍复杂。如果只是内网或信任网络,明文FTP可以;公网建议开启TLS或改用SFTP(基于SSH)。
  7. 磁盘空间监控:写个脚本检查 /data/ftp 磁盘使用率,超过80%发告警,否则文件传一半失败。

九、为什么推荐沐雨云服务器?

我用过阿里云、腾讯云、华为云等等,沐雨云主要有三个优势:

  • 带宽性价比高:很多大云厂商对学生机带宽限速很狠,沐雨云的5Mbps带宽实打实,上传大文件不憋屈。
  • 安全组管理简单:图形化配置端口规则,还能批量放行IP段,适合我这种懒得写脚本的人。
  • 售后响应快:有一次我半夜搞FTP被动模式连不上,工单20分钟就回复了,一步到位解决。

如果你正在选云服务器做FTP,不妨试试沐雨云。新人首单有折扣,官网可直接注册。

沐雨云服务器官网: https://www.muyuyun.cn

总结

FTP服务器搭建本身不复杂,难点在于网络层面的配置和安全性。记住三步:开对端口、配好被动模式、限制用户权限。按照本文步骤操作,半小时内就能跑起一个生产可用的FTP。如果遇到报错,先看日志 /var/log/vsftpd.log,大部分问题都能找到线索。

最后再次强调:别把FTP暴露在公网而不做任何防护。结合沐雨云的安全组功能,只允许信任IP访问,配合强密码,你的文件服务就能稳定运行很久。

  • 本文作者:站长
  • 本文链接: https://www.zhujishice.cn/vpszs/480.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
360
0
0
0
内卷太严重,已躺平...

2026高防服务器连接数限制,3步查看!

上一篇

2026香港服务器微信小程序能用吗?3招实测!

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单