神的尾巴

全栈工程师、独立开发者

0%

自建图床指南

针对主流图床分析,可以看我的 上一篇文章:主流图床分析对比

这篇文章我来教大家如何自建图床。

如果有国内备案域名推荐:基于又拍云的图床搭建,否则推荐基于阿里云的图床搭建。

又拍云的图床服务用起来比阿里云更舒服,功能定制更多、价格也更便宜,又拍云的原图保护需要上传时处理,更自由,但是需要上传工具支持。

基于又拍云的图床搭建

创建云存储推荐配置

  1. 操作员配置权限:读取、写入;
  2. 设置应用场景为网页图片;
  3. 允许全球访问,毕竟是要给全世界看的。

云存储功能推荐配置

  1. 测试域名无法用于生产,绑定正式域名;
  2. 性能优化,开启gzip、Brotli压缩,设置压缩等级为3;
  3. https配置证书,不然已开启https的站点访问不了图片;
  4. 开启TLS 1.3;
  5. Referer 防盗链,看情况开启,如果仅在几个平台发布,可以开启;
  6. 需要的话,可以定制404提示图;
  7. 开启WebP自适应;
  8. 创建缩略图版本;

缩略图版本推荐配置

入口在对应云存储 -> 图片处理 -> 创建缩略图版本。

  1. 限定宽度1000px,高度自适应(防止图片过大,可以调成你需要的值);
  2. 打开锐化图片(针对低分辨率图片会显示更清晰);
  3. 添加水印(建议可以使用图片水印,放右下角)
  4. 输出格式webp;
  5. 图片质量90%;
  6. 取消动态GIF转静态GIF(功能演示时,需要使用动态gif图片);
  7. 打开JPG/PNG大小优化。

又拍云域名榜单

修改域名DNS解析记录,添加一条CNAME记录,指向云存储的CNAME。

添加完成后点击绑定域名,填写设置的域名。

最好配置https,不然chrome会提示不安全。

又拍云能申请免费自动续签的https证书(Let’s Encrypt DV SSL 单域名证书)。

基于阿里云的图床搭建

阿里云Bucket管理

Bucket推荐选项

  1. 区域选择目标用户区域,或者是你附近的区域;
  2. 存储根据图片访问热度:选择标准存储或低频访问存储;
  3. 不开启同城冗余;
  4. 不开启版本控制;
  5. 读写权限选择公共读;
  6. 数据加密选无;
  7. 日志查询不开通;
  8. 定时备份不开通。

Bucket图片处理推荐配置

  1. 访问设置开启原图保护(这样别人就不能拿到你的无水印图片);
  2. 新建样式,推荐设置如下:
    1. 设置格式转换为webp(后面会说为什么要使用WebP);
    2. 设置图片绝对质量90%(可以减少30%流量消耗,提升加载速度,且几乎不影响图片质量);
    3. 设置缩略限定最大宽度1000px,限制图片放大(防止超大图片,自动缩放,节约流量消耗,提示加载速度);
    4. 添加文字水印/图片水印,好看不影响观看就好了。

另外建议创建一个子账号只给一个OSS权限,防止子账号泄露导致的安全风险。

为什么使用WebP

WebP兼容情况

如上所示,除了微软家自己放弃的IE,其他平台基本都支持(Safari 14.0支持 WebP)。

WebP的压缩率有多高

以我目前博客图片使用情况,不管是jpg还是png,转换为webp之后,并设置压缩率为90%。

200k -> 36k
340k -> 56K

效果非常明显,能够节省非常多的流量,也能提升网站加载速度,优化用户体验。

超棒的图床工具

云存储空间有了,现在我们需要一个顺手的工具来快速上传图片。

这里推荐开源图床工具:PicGo

基本实现了我需要的功能:

  1. 支持多图床上传(又拍云、阿里云、腾讯云…);
  2. 支持一键上传粘贴板图片;
  3. 支持自定义上传后返回格式(Markdown、Url、云处理后缀)。

打开PicGo,配置之前设置的图床。

建议打开通知,这样上传中和上传完成,都会有通知。

如果粘贴板不是图片或者没内容,会提示上传失败检测请检测图床设置,这里应该是Bug,应该提示粘贴板没图片或不是图片。

配合截图工具一键上传截图,返回Markdown格式

之前一篇文章:推荐一款超好用的截屏工具,里面有推荐一款超好用的截图工具。

整合后的工作流:

  1. Command + Shift + O,截图处理,标注完成后,空格键设置到粘贴板;
  2. Command + Shift + P,一键上传到图床,返回对应Markdown格式图片链接,Command + V 粘贴到文章Markdown,搞定~
觉得对你有帮助的话,请我喝杯咖啡吧~.