图床
# 图片上传工具
我的博客是基于 Markdown 的,如果我们每次上传图片都需要登录到七牛云控制台并上传,就太慢了。因此市面上出现了很多图片上传工具,能实现的效果是这样的:将图片拖拽到工具里,就能自动上传到对象存储里,并且获取图片链接,极大简化了我们的操作。
我使用的工具是:
- PicGo (opens new window):支持 Windows,Mac 和 Linux,基于 Electron 开发,支持多种图床上传
github.com/NothingMeaning/foureggs (opens new window) (opens new window):博主目前在用的,直接在 Markdown 文件上右键即可上传,并自动替换原始文件里的图片链接,不过会生成一个新的Markdown文件,非常方便。
该工具有安装包和源码,源码里有可运行的exe文件,如果使用源码可以自己将工具注册到右键中 (opens new window)
# 图床选择
Github:如果想要免费使用可以选择Github作为图床,不过图片有概率上传失败,不过也有别的解决方法。
七牛云:如果能接受一定的费用,可以选择七牛云,按照我的操作可以用自己的域名和免费的证书访问七牛云图床,只需要支付CDN流量费用0.28/GB
# Github
如果不介意图片加载慢的话,而且主要是有时图片上传不上去,可以使用GitHub做免费图床
只要创建一个保存图片的仓库,需要public
在setting->developer settings->Personal access token->创建一个token(classic)(只需要选择repo的权限就行)。
可以使用https://raw.gitmirror.com (opens new window)进行加速,在国内也能访问图片资源, 不过可能不稳定,博主目前就是用的GitHub + 加速(那个cloudflare有点搞不明白😵)
如果图片总是上传失败也可以直接将图片仓库拉取下来,将图片保存在里面中,然后手动上传,再把文章中的路径修改为git的路径。 这里应该可以写个脚本来自动进行,我之后看怎么做。TODO
两种免费图床搭建教程:GitHub + Cloudflare 加速 & Cloudflare R2(附 PicGo 配置详解) (opens new window)
# 七牛云
七牛云提供了3个月有效期的免费访问域名可以使用,想要长期使用还需要用自己的域名
而且七牛云图床免费域名的使用的是http协议,不能用于https的网站(比如GitHub Page),会导致图片加载不出。
想要用https协议需要购买证书。
可以在阿里云购买域名,使用阿里云免费证书,就供个人网站、测试用。每年有20个证书额度,一个证书可以用三个月
不过七牛云的https协议不是免费的,CDN流量0.28元/GB。
# 设置自己的域名
在阿里云云中添加一个新的子域名,用于博客网站访问我们的图床
- 解析记录类型选CNAME,
- 主机记录就是访问图床时的子域名
- 记录值等下还要再改,先随便填
# 将阿里云的证书添加到七牛云
参考视频:wordpress 极速搭建个人独立博客 014七牛云上传阿里云SSL证书 (opens new window)
在阿里云中搜索ssl证书。
在个人测试证书中立即购买,可以购买免费的证书,每年可以有20个额度,
购买后创建证书,输入刚刚创建的子域名img.cyanyep.top,并输入个人信息进行验证就可以了
创建证书后在更多里找到下载,下载证书,服务器类型为其他
点击绑定域名可以跳转到添加域名中
在SSL 证书服务中上传自有证书
- 证书备注名:随便填,可以填你的域名
- 证书内容(PEM 格式):上传 下载的zip中 .pem后缀的文件
- 证书私钥(PEM 格式):上传 下载的zip中 .key后缀的文件
# 在七牛云添加域名
输入刚刚创建的子域名
选择https和刚刚上传的证书
使用场景:图片小文件
缓存配置:使用推荐配置
其他不用修改
点击创建
# 验证域名所有权
根据图片在阿里云添加域名解析,
记录类型:txt
主机记录:verification
记录值:填你自己生成的
# 将子域名解析到七牛云
添加后回到七牛云点击验证,验证后会给你一个CNAME,将其配置到刚刚创建的子域名img.cyanyep.top的记录值中。
这样你的子域名就会解析到七牛云的域名,可以通过你的子域名访问图片
等待片刻就会发邮箱通知你加速域名创建成功
修改你的外链域名就可以用你的子域名访问图片了
参考:
两种免费图床搭建教程:GitHub + Cloudflare 加速 & Cloudflare R2(附 PicGo 配置详解) (opens new window)
十分钟搭建你自己的图床,手把手教你,免费,picgo, 七牛云 (opens new window)