针对主流图床分析,可以看我的 上一篇文章:主流图床分析对比。
这篇文章我来教大家如何自建图床。
如果有国内备案域名推荐:基于又拍云的图床搭建,否则推荐基于阿里云的图床搭建。
又拍云的图床服务用起来比阿里云更舒服,功能定制更多、价格也更便宜,又拍云的原图保护需要上传时处理,更自由,但是需要上传工具支持。
基于又拍云的图床搭建
创建云存储推荐配置
- 操作员配置权限:读取、写入;
- 设置应用场景为网页图片;
- 允许全球访问,毕竟是要给全世界看的。
云存储功能推荐配置
- 测试域名无法用于生产,绑定正式域名;
- 性能优化,开启gzip、Brotli压缩,设置压缩等级为3;
- https配置证书,不然已开启https的站点访问不了图片;
- 开启TLS 1.3;
- Referer 防盗链,看情况开启,如果仅在几个平台发布,可以开启;
- 需要的话,可以定制404提示图;
- 开启WebP自适应;
- 创建缩略图版本;
缩略图版本推荐配置
入口在对应云存储 -> 图片处理 -> 创建缩略图版本。
- 限定宽度1000px,高度自适应(防止图片过大,可以调成你需要的值);
- 打开锐化图片(针对低分辨率图片会显示更清晰);
- 添加水印(建议可以使用图片水印,放右下角)
- 输出格式webp;
- 图片质量90%;
- 取消动态GIF转静态GIF(功能演示时,需要使用动态gif图片);
- 打开JPG/PNG大小优化。
又拍云域名榜单
修改域名DNS解析记录,添加一条CNAME记录,指向云存储的CNAME。
添加完成后点击绑定域名,填写设置的域名。
最好配置https,不然chrome会提示不安全。
又拍云能申请免费自动续签的https证书(Let’s Encrypt DV SSL 单域名证书)。
基于阿里云的图床搭建
Bucket推荐选项
- 区域选择目标用户区域,或者是你附近的区域;
- 存储根据图片访问热度:选择标准存储或低频访问存储;
- 不开启同城冗余;
- 不开启版本控制;
- 读写权限选择公共读;
- 数据加密选无;
- 日志查询不开通;
- 定时备份不开通。
Bucket图片处理推荐配置
- 访问设置开启原图保护(这样别人就不能拿到你的无水印图片);
- 新建样式,推荐设置如下:
- 设置格式转换为webp(后面会说为什么要使用WebP);
- 设置图片绝对质量90%(可以减少30%流量消耗,提升加载速度,且几乎不影响图片质量);
- 设置缩略限定最大宽度1000px,限制图片放大(防止超大图片,自动缩放,节约流量消耗,提示加载速度);
- 添加文字水印/图片水印,好看不影响观看就好了。
另外建议创建一个子账号只给一个OSS权限,防止子账号泄露导致的安全风险。
为什么使用WebP
WebP兼容情况

如上所示,除了微软家自己放弃的IE,其他平台基本都支持(Safari 14.0支持 WebP)。
WebP的压缩率有多高
以我目前博客图片使用情况,不管是jpg还是png,转换为webp之后,并设置压缩率为90%。
200k -> 36k
340k -> 56K
效果非常明显,能够节省非常多的流量,也能提升网站加载速度,优化用户体验。
超棒的图床工具
云存储空间有了,现在我们需要一个顺手的工具来快速上传图片。
这里推荐开源图床工具:PicGo。
基本实现了我需要的功能:
- 支持多图床上传(又拍云、阿里云、腾讯云…);
- 支持一键上传粘贴板图片;
- 支持自定义上传后返回格式(Markdown、Url、云处理后缀)。
打开PicGo,配置之前设置的图床。
建议打开通知,这样上传中和上传完成,都会有通知。
如果粘贴板不是图片或者没内容,会提示上传失败检测请检测图床设置,这里应该是Bug,应该提示粘贴板没图片或不是图片。
配合截图工具一键上传截图,返回Markdown格式
之前一篇文章:推荐一款超好用的截屏工具,里面有推荐一款超好用的截图工具。
整合后的工作流:
- Command + Shift + O,截图处理,标注完成后,空格键设置到粘贴板;
- Command + Shift + P,一键上传到图床,返回对应Markdown格式图片链接,Command + V 粘贴到文章Markdown,搞定~