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