记录博客升级:配置图床+自动化上传

最近又开始折腾博客,现有的hexo框架虽然也很方便,单看起来总还是差那么一点意思。加上在此之前看到过好几个拥有优秀前端界面的博客,于是也有了自己定制一个博客的念头。

在改进博客的过程中,如何存储图片成为了优化的第一步:现有的hexo博客部署在github pages上,受限于网络,加载图片的速度很不稳定,而图床刚好可以解决这个问题,因此就有了这篇记录。

图床与对象存储

图床很好理解,就是一个存储平台,用来存放图片/音频等资源,用户用一个统一的url进行访问。由于图床能够通过CDN来加速,很适合搭建网页时存放各种资源,来让不同地方的用户快速访问。

图床已经有了很成熟的运作模式,建立在对象存储服务上,各家云服务厂商都有相关业务,例如阿里云、腾讯云的 OSS/COS。介绍看的眼花缭乱,最后看了一圈价格,还是选了最便宜的七牛云。

搭建对象存储

简单注册完七牛云账户以后就可以新建存储空间。注意如果你的域名没有在国内备案,那只能选择海外存储。海外存储的存储套餐会更贵一点,也没有办法享受每个月10G的免费空间,但是对域名就没有限制。此外存储空间需要设定为公开,不然无法其他web服务无法访问图片资源。

新建完成之后,就可以自由上传照片了,七牛云平台会有一个测试的域名供短期使用,这时可以用域名/图片名(xxxx.com/test.jpg)的方式来访问图片。但三十天之后就需要绑定自己的域名才能用图床了。

绑定自定义域名

我自己有一个阿里云域名zerolovesea.top,我想将图床绑定在二级域名images.zerolovesea.top上,需要前往阿里云工作台–>阿里云域名列表–>选择想要的顶级域名解析。

  1. 为现有域名解析新的CNAME

  1. 这里我想绑定在images.zerolovesea.top上,因此加一个images的CNAME,这里需要填入一个记录值,记录值从对象存储平台上,在配置自定义域名时会获取到。

  1. 进七牛云域名管理–>自定义源站域名–>绑定域名,直接输入二级域名,接下来顺序填配置即可。注意未备案域名只能覆盖海外。
  2. 配置完域名以后,会显示CNAME未配置,这时会出现一串CNAME的字符串,复制到阿里云域名解析的二级域名CNAME下,稍等一会就ok了。这时就可以用自己的域名访问图床了。

配置PicGo+Typora自动上传

我自己是用Typora写博客的,需要插入图片时,hexo框架会把相对路径变成Github Page上的地址。现在有了图床,我们可以让插入图片的时候,Typora自动上传到图床。需要用PicGo来实现。

Mac os可以用brew install --cask picgo直接安装,Windows则去Github项目release页面直接下载最新版本。

安装之后点图床设置–>找到对应的服务,输入对应信息保存即可,其中需要填写的AccessKey和SercetKey都来自七牛云–>密钥管理。

随后前往Typora,在设置–>图像里,将插入图片时的操作定义为上传图片,并将上传服务设定设置为PicGo,大功告成。设置完成后,每次在Typora里复制图片的时候,Typora会先把图片上传到图床,然后将图片外链直接粘贴到markdown里,这样一来大大减少了工作量。

2025/5/29 于苏州