ftp-server(对象存储)

1、背景

在腾讯云弄了一个对象存储,想通过ftp上传照片

说明连接:

       腾讯云:https://cloud.tencent.com/document/product/436/7214

       GitHub:https://github.com/tencentyun/cos-ftp-server-V5

 安装Pyhon2.7:https://cloud.tencent.com/document/product/436/10866

本次试用所用打的软件包:
链接:https://pan.baidu.com/s/1CN5XtDxun0HJjrnakli0Lg 
提取码:dvim 

2、操作

2.1、软件下载

2.2、配置主配置文件

unzip cos-ftp-server-V5-master.zip 
mv cos-ftp-server-V5-master /usr/local/cos-ftp-server
cd /usr/local/cos-ftp-server/conf
cp vsftpd.conf.example vsftpd.conf
vim vsftpd.conf
[COS_ACCOUNT_0]   #第一个规则
cos_secretid = AKID************************    #管理秘钥
cos_secretkey = Z9lDv**********************
cos_bucket = ***b**er-125****3    #存储桶的名字
#cos_region =
cos_region = ap-beijing   #存储桶所在的区域,我的在北京
cos_protocol = https      #默认不修改,当然也可以修改为http
#cos_endpoint = ap-xxx.myqcloud.com
home_dir = /home/cjs   #系统中存在的目录,实际使用中这里不会有上传的文件,都跳转到存储桶里了
ftp_login_user_name = cjs   #ftp的账号,系统中不必存在
ftp_login_user_password = pyw   #ftp的密码
authority = RW        
delete_enable = true

[COS_ACCOUNT_1]    #第二个规则,我是删除了
cos_secretid = XXXX
cos_secretkey = XXXXX
cos_bucket = {bucket name}-123
cos_region = ap-xxx
cos_protocol = https
#cos_endpoint = ap-xxx.myqcloud.com
home_dir = /home/user1
ftp_login_user_name=user1
ftp_login_user_password=pass1
authority=RW
delete_enable=true


[NETWORK]
masquerade_address = 114.114.114.114    #存储桶的IP地址
listen_port = 2121   #端口

#passive_port可以设置passive模式下,端口的选择范围,默认在(60000, 65535)区间上选择
passive_port = 60000,65535

[FILE_OPTION]
# 默认单文件大小最大支持到200G,不建议设置太大
single_file_max_size = 214748364800

[OPTIONAL]
config_check_enable = true

# 以下设置,如无特殊需要,建议保留default设置  如需设置,请合理填写一个整数
min_part_size       = default
upload_thread_num   = default
max_connection_num  = 100
max_list_file       = 10000     # ls命令最大可列出的文件数目,建议不要设置太大,否则ls命令延时会很高
log_level = DEBUG log_dir = log

2.3、运行

yum install gcc libffi-devel python-devel openssl-devel

2.3.1、安装setuptools

# wget https://files.pythonhosted.org/packages/1d/64/a18a487b4391a05b9c7f938b94a16d80305bf0369c6b0b9509e86165e1d3/setuptools-41.0.1.zip
# unzip setuptools-41.0.1.zip
cd setuptools-41.0.1/
# python setup.py build
# python setup.py install
[root@localhost setuptools-41.0.1]# ls -l /usr/lib/python2.7/site-packages/setuptools-41.0.1-py2.7.egg 
-rw-r--r--. 1 root root 1032581 5月   6 16:28 /usr/lib/python2.7/site-packages/setuptools-41.0.1-py2.7.egg

2.3.2、安装psutil

https://pypi.org/project/psutil/#files
tar xf psutil-5.6.2.tar.gz 
cd psutil-5.6.2/
yum install gcc python-devel  #可能需要
python setup.py install

 2.3.3、安装pyftpdlib

ntpdate ntp1.aliyum.com   #校对系统时间
yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip
pip install pysendfile

2.3.4、安装ftp-server

ftp配置文件默认需要2G内存空间,请考虑减少最大连接数或释放一些系统内存。您也可以通过将“config-check-enable”设置为false来禁用配置检查。

python setup.py install
python ftp_server.py   #前台运行
nohup python ftp_server.py >> /dev/null 2>&1 &      #后台运行

2.3.5、停止运行

ps -ef | grep python | grep ftp_server.py | grep -v grep | awk '{print $2}' | xargs -I{} kill {}

2.4、开放端口

除了系统本身的IPtable防火墙外,还要在安全组内开放2121和60000~65535端口

2.5、测试

可以使用ftp软件来测试也可以使用linux来测试


注释:ftp用法参看文档:https://www.cnblogs.com/mingforyou/p/4103022.html
原文地址:https://www.cnblogs.com/huangyanqi/p/10969202.html