腾讯云cos搭建个人ftp服务器

2017年5月2日 797 次阅读 0 条评论 0 人点赞

腾讯云cos每月提供免费额度,不用白不用。用着腾讯云cos的人都知道,最近腾讯云cos升级了,从v3版本升级到v4版本了。据腾讯云官方数据说升级后会有更好的性能,更多的功能。我用着腾讯云cos的ftp功能,把我网站的数据库备份后通过ftp的方式上传到腾讯云cos中,不过我昨天发现,升级后后台根本就没有ftp账号添加了功能了。估计腾讯直接去掉了,不过v3版本的时候添加的ftp账号仍然是可以用的。不过v4就不行了。提交工单,腾讯客服提示文档有搭建ftp服务器的方法。研究了一下,果真v4版本已经提供了一个搭建ftp服务器的工具,果断搞起来。

1.首先看介绍一下这个ftp工具

文档地址:https://www.qcloud.com/document/product/436/7214

 

功能说明

COS FTP v4是依赖COS 4.X的FTP服务端工具。通过COS FTP工具可以通过FTP协议从COS上传和下载文件。

上传机制:上传先落地FTP的本地磁盘, 上传COS后删除,返回给客户端成功。(后期版本流式上传COS,不落本地磁盘)

下载机制:下载直接流式返回给客户端

支持FTP命令

  • put
  • get
  • mput
  • mget
  • delete
  • mkdir
  • ls
  • cd
  • bye
  • quit
  • size

不支持FTP命令

  • append

适用COS版本

4.x

系统要求

Linux (推荐腾讯云Centos系列CVM)

依赖库

针对Centos等使用yum安装的系统,build.sh会自动下载以下依赖。其他系统请自行安装。

[/crayon]

使用方法

获取程序包

下载地址:COS FTP V4 github

源码结构

目录 说明
bin 编译后生成的可执行程序
conf 配置文件目录
data 上传时存储临时数据的目录,上传成功或失败后删除
dep FTP Server所依赖的COS 4.X CPP SDK
include 头文件所在的目录
lib 依赖的库目录
log 日志目录
opbin 有关清理日志, 自动拉起的脚本
src FTP源码目录
build.sh 编译脚本
start.sh 启动FTP server的脚本
stop.sh 停止程序的脚本

2.配置方法,这才是重点


[/crayon]
直接列出我的配置

对于服务器可能需要开启2121端口,下边列出卡其2121端口的方法

 

3.编译

因为FTP需要使用本地磁盘,因此请将FTP源码程序放在一个存储空间较大的盘。(腾讯云初始的机器购买的数据盘需要手动格式化并挂载, 请参考 https://www.qcloud.com/doc/product/213/2974
以root身份运行build.sh(因为build.sh里会调用yum进行安装依赖库,推荐使用腾讯云主流的Centos系列系统,如果是其他系列系统,如ubuntu,请修改opbin/env_init.sh)

命令如下

4.运行

切换到cos_ftp账户(这个账户是在build.sh脚本里建立的), su cos_ftp

sh start.sh (会启动FTP进程和monitor程序,以及安装自动清理日志的CT脚本)
使用FTP客户端连接server的控制端口(默认是2121),为避免客户机限制端口,建议使用pasv模式连接。

命令如下

5.可能出现的问题

(1)推荐用新版的appid,地址为含有125开头的bucket,没有的话就新建一个,绝对是125开头的

(2)连接不上,请查看账户密码端口号,连接模式是否正确,以及服务器上进程是否起来(netstat -tulnp | grep vsftpd)
(3) 并发上传一个文件失败,FTP不支持并发上传文件,会对文件进行加锁,导致只有一个会成功。
(4) 上传文件过大,本地磁盘不足导致失败。通过FTP上传会先临时落FTP服务器磁盘(存放在FTP服务的data目录下),然后上传COS,上传成功后会删除本地文件。下载不落本地,不受磁盘空间限制,因此建议把FTP服务部署在空间较大的分区上。
(5) 使用FileZilla等客户端上传大文件失败, 第一版本的FTP服务器不支持append模式,而FileZilla等客户端在上传一些大文件时,会通过append操作。

(6)有问题请在下方留言

标签:
最后编辑:2017年5月2日

文章评论(0)