背景介绍

对象存储是面向海量非结构化数据的通用数据存储平台,提供安全可靠、低成本的云端存储服务,可以作为 FTP 服务后端的存储服务来为客户提供便捷、有效的数据存储功能。

qsftpd 介绍

qsftpd 是一个将对象存储作为存储后端的 FTP Server,用户通过简单的配置,即可通过 FTP 协议使用对象存储服务。

qsftpd 已在 GitHub 开源,更多详情可参见 GitHub

准备工作

创建 Bucket

通过控制台对象存储,点击创建,输入名称,提交。

bestp win qsftpd use1

申请 API 密钥

登录控制台,选择 个人信息 > api 密钥,点击创建,提交,然后下载到本地,

bestp win qsftpd use2
注意
  • 此链接仅能下载一次。

  • 配额不够可以开工单申请。

下载安装

qsftpd 支持 Linux、MacOS 和 Windows 操作系统,可访问 GitHub 项目的 Releases 页面查看和下载历史版本。Windows 最新版本下载链接:qsftpd-latest-windows_amd64

使用示例

下载并解压 tar 包

下载链接:下载

将 tar.gz 文件解压为 .tar 文件,再次解压,生成可执行文件 qsftp.exe。

创建配置文件

在 qsftp.exe 所在的文件夹中创建一个名为 qsftpd.yaml 的文件,填写相关信息,可参考下面配置:

# QingStor service settings
qingstor:
  access_key_id: your_access_key_id
  secret_access_key: your_secret_access_key
  host: qingstor.com
  port: 443
  protocol: https
  log_level: warn

# Bucket settings
bucket_name: your_bucket_name
zone: pek3b

# FTP server settings
listen_host: 127.0.0.1
listen_port: 21
public_host: 127.0.0.1
max_connections: 128
start_port: 6000
end_port: 7000
#log_level: error
# !!! qsftpd will clean the cache_path every time starts
#cache_path: /var/cache/qsftpd

# Authentication settings
# Allowed anonymous login by default.
# If you want to specify ftp users, uncomment the lines below and add username
# and password.
#users:
#  username_example: password_example
说明

access_key_id、secret_access_key、bucket_name、zone 需要自行填写。

启动 FTP Server

  1. 通过 win+R,打开运行界面,输入 cmd。

    bestp win qsftpd use7
  2. 然后进入到相应的盘符中,执行文件。

    bestp win qsftpd use8
    bestp win qsftpd use9

连接 FTP Server

  1. 再运行一个 cmd,输入 ftp 172.0.0.1(为配置文件中所写的 ip)。也可以自行使用其他 ftp 的客户端。

  2. 配置文件中未添加用户名及密码,因此需要匿名登录,输入用户名及密码:anonymous/anonymous,即可正常登录。

    bestp win qsftpd use10