曾国藩:一勤天下无难事

Linux 安装腾讯 COS FTP SERVER

2019.07.10

官方文档

https://cloud.tencent.com/document/product/436/7214

官方github

需要先到github 下载ftp服务包

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

安装部署

进入安装目录,运行setup.py 脚本,机器需要连网

sudo python setup.py install

修改配置文件

进入到下载目录下的conf文件下里 将vsftpd.conf.example文件重新复制一份命名为vsftpd.conf

以下为配置文件说明:

```
[COS_ACCOUNT_0]
cos_secretid = COS_SECRETID    # 替换为您的 SECRETID
cos_secretkey = COS_SECRETKEY  # 替换为您的 SECRETKEY
cos_bucket = examplebucket-1250000000
cos_region = region   # 替换为您的存储桶地域
cos_protocol = https
#cos_endpoint = region.myqcloud.com
home_dir = /home/user0   # 本机要有此目录
ftp_login_user_name=user0  # ftp 所用的用户名
ftp_login_user_password=pass0 #ftp 所用的密码
authority=RW
delete_enable=true                    # true 为允许该 ftp 用户进行删除操作(默认),false 为禁止该用户进行删除操作

[COS_ACCOUNT_1]
cos_secretid = COS_SECRETID    # 替换为您的 SECRETID
cos_secretkey = COS_SECRETKEY  # 替换为您的 SECRETKEY
cos_bucket = examplebucket-1250000000
cos_region = region   # 替换为您的存储桶地域
cos_protocol = https
#cos_endpoint = region.myqcloud.com
home_dir = /home/user1  #此目录不能与上个目录一样
ftp_login_user_name=user1
ftp_login_user_password=pass1
authority=RW
delete_enable=false

[NETWORK]
masquerade_address = XXX.XXX.XXX.XXX        # 如果 FTP SERVER 处于某个网关或NAT后,可以通过该配置项将网关的IP 地址或域名指定给 FTP
listen_port = 2121                       # Ftp Server的监听端口,默认为2121,注意防火墙需要放行该端口

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

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

[OPTIONAL]
# 以下设置,如无特殊需要,建议保留 default 设置  如需设置,请合理填写一个整数
min_part_size       = default
upload_thread_num   = default
max_connection_num  = 512
max_list_file       = 10000                # ls命令最大可列出的文件数目,建议不要设置太大,否则ls命令延时会很高
log_level           = INFO                 # 设置日志输出的级别
log_dir             = log                  # 设置日志的存放目录,默认是在ftp server目录下的log目录中
```

以下为我的配置文件:

[COS_ACCOUNT_alaudaace]
cos_secretid = AKIDj2Axxxxxxxxxxxxxxxxxxxxxxxxx
cos_secretkey = 4uUpvlxxxxxxxxxxxxxxxx
cos_bucket = alauda-xxxxxxxx
cos_region = ap-cxxxg
cos_protocol = https
#cos_endpoint = ap-xxx.myqcloud.com
home_dir = /home/alxx
ftp_login_user_name = alaxxe
ftp_login_user_password = cExxxxxx
authority = R
delete_enable = false

[COS_ACCOUNT_alauda]
cos_secretid = AKIDj2Axxxxxxxxxxxxxxxxxxx
cos_secretkey = 4uUpvldxxxxxxxxxxxx
cos_bucket = alauda-xxxxx
cos_region = ap-chongqing
cos_protocol = https
#cos_endpoint = ap-xxx.myqcloud.com
home_dir = /home/xx 
ftp_login_user_name = xx
ftp_login_user_password = kjsxxxx
authority = R
delete_enable = false

#[COS_ACCOUNT_3]
#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 = 11xxx ## 注:此处写本ftp服务器的外网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
log_level           = DEBUG
log_dir             = log

运行 ftp_server.py 启动 FTP Server:

  • 前台运行

    python ftp_server.py
    
  • 后台运行

    nohup python ftp_server.py >> /dev/null 2>&1 &
    
  • 使用screen运行

    screen -dmS ftp
    screen -r ftp
    python ftp_server.py
    #使用快捷键,切回主 screen 即可:
    Ctrl+A+D 
    

网络及安全设置

  • 机器所在的安全组需要放开2121,60000-65535端口
  • 机器上的iptables需要放行

    iptables -A INPUT -p tcp --dport 2121 -j ACCEPT
    iptables -A OUTPUT -p tcp --dport 2121 -j ACCEPT
    

常见问題解决

https://cloud.tencent.com/document/product/436/30742

使用客户端下载

https://filezilla-project.org/index.php

或其它客户端,请自行下载

使用浏览器访问

ftp://118.xxxx xxxx:2121

输入对应的帐号及密码即可

ace下载

  • 服务器地址:11xxxx xxx
  • 服务器端口:2121
  • 用户名:alauxxxx
  • 密码:cxxxx x

acp下载

  • 服务器地址:118xxx
  • 服务器端口:2121
  • 用户名:alauda
  • 密码:kjshxxxx

安装包上传到腾讯oss

登陆打包机使用以下命令上传

  • 工具安装:https://cloud.tencent.com/document/product/436/10976

    pip install coscmd
    
  • 上传前请修改配置,上传acp就把acp打开即可

    cat ~/.cos.conf
    [common]
    secret_id = AKIDjxxxxxxxxxxxxxxxxxxxxxx
    secret_key = 4uUpxxxxxxxxxxxxx
    # bucket = alauda-xxxxxxxxxxx
    bucket = alauda-xxxxxxxxxxxxxx4
    region = ap-chongqing
    max_thread = 5
    part_size = 1
    schema = https
    
  • 命令格式:

    coscmd upload <localpath> <cospath>  —skipmd5 (这个参数为跳过md5检查)
    
  • 示例:

    coscmd upload --skipmd5 acp-2.0.1-190703.tgz  /
    
  • 官方命令文档

https://cloud.tencent.com/document/product/436/10976