Skip to main content
  1. Posts/

博客图床从七牛云存储迁移到腾讯云存储

··1321 words·3 mins·
Blog Regex Mac 图床 对象存储
Table of Contents

去年建立博客的时候,选择了七牛对象存储来存放博客的图片,最近收到了七牛的邮件,之前一直在用的域名只是一个测试域名,再过一阵就要回收了,到时必须使用自己的域名。大概看了一下,申请自己的域名还要涉及注册和备案,我仅仅是需要存储图片,这样太费周章,所以决定把博客的图片从七牛迁移出来。

经过一番查找比较,最后决定使用腾讯云的对象存储 COS,由于我的图片量很少,所以就算付费,每个月实际的支出也不会太大。本文介绍图片迁移过程。

从七牛 bucket 下载图片
#

七牛提供了命令行工具qshell 来对七牛存储进行操作,我们可以利用这个工具把 bucket 里面的图片全部下载到本地。对于 Mac 系统,下载以后解压文件,qshell_darwin_x64 即为可执行文件,为了方便后续操作,先建立 qshell 软链接,指向实际的可执行程序:

chmod u+x qshell_darwin_x64
ln -s qshell_darwin_x64 qshell

然后配置自己的账户:

qshell account <AK> <SK>

<AK><SK> 分别是自己的 access key and secret key,可以从七牛账户的个人面板的 密钥管理 模块查看。

qshell 提供了一个 qdownload 功能,可以批量从 bucket 下载图片,但是该功能的下载流量默认是收费的,如果想要免费,建立配置文件 qdownload.conf,一个示例配置内容如下:

{
    "dest_dir"   :   "/Users/jdhao/Documents/qiniu_bucket_files",
    "bucket"     :   "github-pages-image-storage",
    "prefix"     :   "",
    "suffixes"   :   "",
    "cdn_domain" :   "olvlcptdv.bkt.clouddn.com",
    "referer"    :   "",
    "log_file"   :   "download.log",
    "log_level"  :   "info",
    "log_rotate" :   1,
    "log_stdout" :   false
}

dest_dir 填写下载的图片存放路径,确保路径存在;bucket 填写你在七牛建立的 bucket 的名称;cdn_domain 填写七牛给的测试域名;其他信息可以不用填写。

配置文件填写好以后,使用下面命令下载 bucket 里面所有图片:

qshell qdownload qdownload.conf

程序运行结束以后,所有的图片就被下载到了指定的目录下面。

设置腾讯云对象存储
#

注册腾讯云,然后在对象存储里面建立一个存放博客图片的 bucket,注意权限要设置为「公有读私有写」1,这样别人访问博客的时候,才能看到图片。

然后把刚才下载的图片全部上传到这个 bucket 里面,可以批量拖拽上传。值得注意的是,如果七牛 bucket 下有文件夹,那么拷贝到腾讯云,也要保持文件夹结构,否则替换到腾讯的域名以后图片将无法访问。

替换原有的图片中七牛域名
#

接下来,使用命令行工具或者带有正则表达式的编辑器,批量替换所有博客源代码中图片的地址,把七牛云的测试域名,替换为腾讯云存储提供的域名。创建的 bucket 的访问域名可以点击「基础配置」一栏,「基本信息」部分有域名信息。

另外,如果之前使用七牛时候使用了图像处理操作,原有图片链接中的图像操作部分也应该去掉。

图片上传工具
#

找了一圈,支持上传到腾讯云存储的有两个不错的程序,一个是iPic,另外一个是PicGo。iPic 免费版只能使用新浪微博图床,要使用其他图床,需要付费版,每年 $9.9,个人觉得太贵,不值这么多,所以放弃。PicGo 支持腾讯云,并且免费,正好满足需要。

具体配置可以参考官方wiki。可以直接拖拽图片到 PicGO 的菜单栏图标实现图片上传,或者如果已经把图片拷贝到剪切板,使用默认的 Command + shift + P 快捷键上传图片,当然快捷键可以根据自己需求修改。

腾讯云对象存储配置 CDN
#

如果直接使用腾讯云对象存储提供的图片 URL,每个月的流量费还是比较贵的,强烈建议搭配腾讯云提供的 CDN,能够减少流量费用支出。具体配置方法见 这里


  1. 如果要配置 CDN,可以设置权限为「私有读私有写」,具体设置见 官方文档。 ↩︎

Related

腾讯云对象存储博客图床开启 CDN 加速(不需要购买额外域名)
··1447 words·3 mins
Blog CDN 图床 对象存储
Hexo 使用,博客写作相关问题及解决方法
··3033 words·7 mins
Blog Markdown NexT Hexo LaTeX 图床 对象存储
Notes on Using GCP Logging
·345 words·2 mins
Note GCP Logging Regex