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中的數據的功能,讓文件共享與分發更加的方便。