https://yq.aliyun.com/articles/743608linux
云存储文件网关是阿里云提供的存储网关产品,它能够知足用户经过NFS或Samba等协议访问OSS对象存储数据的需求。而经过简单的配置,咱们也能够基于文件网关来配置一台FTP服务器,让用户经过FTP来访问OSS中的数据,实现用FTP客户端上传和下载同步OSS bucket中存储的数据。centos
本文将介绍在linux服务器上如何经过在云存储网关共享上搭建FTP服务器来实现对OSS内数据的分发与共享。bash
(注:关于如何开通及建立云存储网关,你们能够参考 如何在Linux上挂载OSS Bucket 这篇文章)服务器
首先,经过云存储文件网关管理控制台,为想要经过FTP访问的Bucket添加一个新的NFS共享(若是不须要共享整个bucket,请在建立共享时勾选子目录并填入要共享的子目录路径):阿里云
在配置共享时,若是有不少数据须要从OSS反向同步到文件网关的话,建议打开极速同步功能,这样能够保证咱们在OSS中上传的文件及时同步到文件网关中。关于极速同步功能,能够参考 文件网关秒级同步OSS变动对象初体验spa
接下来,咱们在linux服务器上建立/ftp目录,并将新建立的nfs共享挂载到/ftp目录下:code
# 1. 建立ftp服务器使用的目录 [root@csg ~]# mkdir -p /var/ftp/oss-bucket # 2. 使用showmount 命令查看新建立的网关共享 [root@csg ~]# showmount -e <网关IP地址> # 3. 挂载共享目录到/var/ftp/oss-bucket目录下 [root@csg ~]# mount -t nfs <网关IP地址>:<共享路径> /var/ftp/oss-bucket # 4. 查看目录挂载状态 [root@csg ~]# df -h /var/ftp/oss-bucket
咱们以centos 为例,安装ftp服务vsftpd:server
[root@csg ~]# yum -y install vsftpd
[root@csg ~]# useradd ftpuser1 [root@csg ~]# passwd ftpuser1
[root@csg ~]# vi /etc/vsftpd/vsftpd.conf ## 常规配置 # line 12: 关闭匿名用户登录 anonymous_enable=NO # line 82,83: 容许ascii模式访问 ascii_upload_enable=YES ascii_download_enable=YES # line 100, 101: 使能chroot chroot_local_user=YES chroot_list_enable=YES # line 103: 指定chroot用户列表配置文件路径 chroot_list_file=/etc/vsftpd/chroot_list # line 109: 使能ls recurse ls_recurse_enable=YES # line 114: 若是使用ECS IPV4地址,修改下面一行并按需关闭IPV6 listen=YES # line 123: listen_ipv6=NO # 添加下面几行配置到配置文件中 # 修改使用的chroot目录,咱们配置为挂载了文件网关NFS共享的路径 (若是不指定的话,会默认使用ftp用户的home目录而不是NFS挂载目录) local_root=/var/ftp/oss-bucket # 使用本地时间 use_localtime=YES # 关闭seccomp filter seccomp_sandbox=NO # 指定客户端passive模式访问端口,可自由指定 pasv_min_port=12001 pasv_max_port=12005
# 添加chroot容许用户 [root@csg ~]# vi /etc/vsftpd/chroot_list # 添加容许chroot的ftp用户 ftpuser1
[root@csg ~]# systemctl start vsftpd [root@csg ~]# systemctl enable vsftpd
若是开启了防火墙,须要添加规则容许ftp端口的访问:对象
[root@csg ~]# firewall-cmd --add-service=ftp --permanent success [root@csg ~]# firewall-cmd --reload success
若是开启了selinux,须要容许ftp访问blog
[root@csg ~]# setsebool -P ftpd_full_access on
配置完成后,咱们就能够使用ftp客户端来访问部署好的ftp服务器了,咱们以fileZilla客户端为例,使用ftpuser1这个用户登录ftp服务器,并尝试上传一个f文件到ftp服务器:
图: 登录并上传文件到ftp server
上传成功后,登录到OSS控制台,到云存储网关配置共享的bucket对应的目录下查看,能够查看到刚刚上传的文件,实现了经过FTP客户端向OSS上传的功能:
图:在OSS控制台访问ftp client新上传的文件
一样,在文件网关打开极速同步或反向同步功能后,文件网关也能够反向同步OSS上的数据更新,让FTP的客户端获取到OSS上新上传的文件列表,下载OSS中新上传的文件。
经过基于云存储网关的NFS共享搭建FTP服务器,能够让用户使用ftp访问OSS中的数据,实现用FTP客户端上传数据到OSS和下载OSS中的数据的功能,让文件共享与分发更加的方便。