linux 搭建ftp服务器都是差不多的方式,这里我就是参考其他人的博客:https://blog.youkuaiyun.com/zyw_java/article/details/75212608
ftp工作原理:请参考https://www.jianshu.com/p/74117b467296 和 https://www.cnblogs.com/luoxn28/p/5585458.html
ftp服务主要有两种模式:主动模式和被动模式。
啊里ECS搭建ftp服务需要特别注意网络的问题:
首先阿里云ECS的网络类型有两种:经典网络与专有网络。对于经典网络的ECS来说,系统内有两张网卡:eth0和eth1,eth0为内网网卡,eth1为外网网卡。在系统内内网和外网的IP地址是静态写在配置文件里的,系统内可以直接看到。而专有网络的ECS系统内只有一张网卡eth0,所有的流量都由这张网卡出入,系统内部无法看到ECS自身的公网IP/弹性公网IP。只能选择被动模式。
目前阿里云控制台上申请ECS只有专有网络了。
如果是在ECS搭建ftp服务,需要修改vsftpd.conf:
listen=YES
listen_ipv6=NO
pasv_address=<公网ip>
#pasv_addr_resolve=yes不能添加,不然会导致ftp服务起不来。
vsftp服务的高并发是通过端口数来实现的,一个数据传输端口只能连接一个client。