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-servercd /usr/local/cos-ftp-server/confcp 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.comhome_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 = XXXXcos_secretkey = XXXXXcos_bucket = {bucket name}-123cos_region = ap-xxxcos_protocol = https#cos_endpoint = ap-xxx.myqcloud.comhome_dir = /home/user1ftp_login_user_name=user1ftp_login_user_password=pass1authority=RWdelete_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 = defaultupload_thread_num = defaultmax_connection_num = 100max_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.zipcd 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/#filestar 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-releaseyum -y install python-pippip install --upgrade pippip 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