Skip to main content
  1. Posts/

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

··137 words·1 min·
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 加速(不需要购买额外域名)
··102 words·1 min
Hexo 使用,博客写作相关问题及解决方法
··538 words·3 mins
2022 年博客回顾
·212 words·1 min