零成本搭建个人博客之图床和cdn加速

本文属于零成本搭建个人博客指南系列

为什么要使用图床

  1. 博客文章中的图片资源文件一般采用本地相对/绝对路径引用,或者使用图床通过外链进行引用展示。本地引用的弊端我认为在于:
  2. 图片和博客放在同一个代码托管仓库,会导致页面加载和构建速度随着图片数量和体积变大导致缓慢。
  3. 本地写作图片路径和静态页面生成后的图片路径实际上是不一样的。例如我在编写时引用的是 /static/images/1.png,静态构建后,该图片实际路径变成了 /images/1.png,如果手动修改,那么本地预览效果则大打折扣。(每个博客框架有一些解决方案,不太通用就不提了)。
  4. 不易于分享:当分享本地文章时,由于图片是基于本地的,所以无法分享。
  5. 使用图床优点:
  6. 方便分享以及文章移动:文章引用的是外链,所以可以随意移动文章路径以及分享文章。
  7. 不影响构建速度:图片不在本地,不占用空间。
  8. 书写方便:使用Obsidianvscode+插件或者typora能自动添加图片以及生成图片链接的编辑软件,结合Picgo——自动上传图片的软件,可以十分快捷的插入图床图片。再也不用一张张手动上传图片。
  9. 图床缺点:各类厂商图床可能存在的问题包括但不限于:存储空间和流量免费付费问题。稳定性、安全性。我会在下文图床选择中根据不同厂商情况简单提及,有需求的用户可以顺着思路去了解。

图床选择

  1. 国内大厂的对象存储服务:腾讯云阿里云七牛云都有自己的对象存储服务。用户可以创建自己的存储桶,上传文件后自动生成外链访问。
  2. 优点:存储费十分便宜,0.01元/GB左右。当作图床基本无需担忧费用。
  3. 缺点(风险):流量费用很高,这里流量指的是用户通过外链访问或者下载资源时会生成流量。以腾讯云为例,0.5元/GB流量费用,如果是个人当博客图床小范围使用还好。当访问量上升,或者外链被他人分享使用,就有可能导致费用暴涨,更不用提如果被恶意下载刷流量。目前个人已知的存储桶只能设置上限预警,在欠费几小时后被动关闭。(七牛云各种免费额度很高,不过需要备案域名)
  4. 解决:使用cdn加速来大幅度减少流量费,同时cdn设置上限阈值。隐藏文件原链接,设置防盗链等方法。这样已经能很大程度降低天价账单的可能性,同时正常使用也不容易碰到恶意攻击的情况。
  5. 使用现成图床:例如SMMS图床服务。优点是有免费额度,也有付费选项,无需担心上述费用过高问题。缺点:需自行选择稳定图床厂商,因为有跑路风险。
  6. 白嫖(不推荐) :使用github、gitee、甚至是csdn、新浪微博等。优点:完全免费,可以把图片上传到任意能上传的位置。缺点:首先个人是不推荐,例如github、gitee被当作图床有可能遭到封禁。同时一旦白嫖网站加入了防盗链规则,那么博客图片直接全部报废,例子有gitee和微博。
  7. 使用国外大厂的对象存储服务:本质上和国内对象存储服务类似,只不过有些优惠力度很大。例如backblaze,又称B2(我个人推荐同时也是本篇博客图床最终使用的对象)。好处有:
  8. 它的免费计划包括:存储桶前10GB免费、每天1GB下载流量、2500次B、C下载请求次数。并且它的存储费用在几个大厂对比是最便宜的。零成本搭建个人博客之图床和cdn加速
  9. 存储桶无需担心天价流量费:结合cloudflare免费的cdn加速,以及cloudflare回流到backblaze的流量免费(回流:当请求到cdn结点发现该资源不存在或者需要更新,cdn会去backblaze获取最新文件),对于白嫖党来说应该算很香了。同时我咨询客服恶意下载问题,客服回应当超过自己设置的上限,会暂停下载,直到用户支付了正常的上限金额后正常开放(免费则是等待第二天免费额度恢复即可)。最后一点我还没有亲自测试过。
  10. 缺点:免费版cf在国内没有结点,可能加速变成减速,不过cf还是较稳定。后期如果想加入付费计划,可能需要准备一张全币种信用卡。

图床搭建

  1. 首先进入backblaze, 创建一个账号,点击右上角 My Account,然后创建一个桶。零成本搭建个人博客之图床和cdn加速 零成本搭建个人博客之图床和cdn加速 设置public可以用外链访问(如果设置Private,结合cdn使用访问授权只有七天,需要不断更新)。
  2. 点击upload尝试上传一张图片,然后在桶文件列表里查看。 零成本搭建个人博客之图床和cdn加速 通过url即可访问。
  3. 设置缓存。打开Bucket Settings。输入参数 {"cache-control":"max-age=172800"} ,意味着下文设置的cdn读取一次资源后,会缓存并且隔172800s后才过期重新读取。如果在cdn中设置了资源缓存时长,这个bucket时长相当于无效,但还是当作一个备用方案使用。 零成本搭建个人博客之图床和cdn加速 需要注意,时间设置过长,相同路径的资源如果发生修改,会在缓存时间到期后才能更新,过短则回源次数变多,自行考虑即可(我当作图床,理论上大一点没事)。

cdn加速

在图床选择时说过,存储桶流量费很贵,所以我们要通过cdn缓存内容,减少流量费。我这里选择的是Cloudflare,自带https支持,免费流量,免费次数,回流B2免费。

  1. 进入CF指定域名的控制台
  2. 点击DNS,添加CNAME(Target 是 B2存储桶的Friendly 域名) 零成本搭建个人博客之图床和cdn加速
  3. 我们也可以自行设置相关资源的缓存规则。 零成本搭建个人博客之图床和cdn加速
  4. 为了不暴露源桶域名,我们需要对域名进行重写。网上教程有很多使用Workers,如今CF推出了Transform Rules,更快更方便。进入URL Rwrite。 零成本搭建个人博客之图床和cdn加速 然后输入即可。 concat("/file/桶名",http.request.uri.path),意思是在域名后添加括号里的两个参数。
    零成本搭建个人博客之图床和cdn加速
  5. 可以打开桶内图片,然后试着修改前面的域名,访问成功即可。

图床结合PicGo使用

我不想每次上传图片都得打开网站,所以使用PicGo上传图片。

  1. 傻瓜式下载安装PicGo
  2. 因为B2支持S3,所以PicGo通过插件列表安装S3插件。
  3. B2生成App Key,点击左侧链接,然后点击 Add a New Application Key 。
    零成本搭建个人博客之图床和cdn加速零成本搭建个人博客之图床和cdn加速注意Allow listing一定要选中,Duration不填代表永久有效。
  4. 生成的key只会出现一次,可以自行保存,也可以重新创建。
  5. 点击PicGo软件左侧图床设置,选中Amazon S3(装了插件才有),将对应key信息填入即可。配置完毕即可自行上传。如遇报错大概率是某行信息复制粘贴时多了空格,或者是EndPoint忘填,自行检查。
    零成本搭建个人博客之图床和cdn加速

至此,博客站点的基础功能已经实现完毕,剩下的可以根据自己需求随意DIY了。

Original: https://www.cnblogs.com/allworldg/p/guide-to-setup-blog-with-zero-cost-3.html
Author: allworldg
Title: 零成本搭建个人博客之图床和cdn加速

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/644245/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 十三、常用类(完结)

    十三、常用类 13.1 包装类 13.1.1 包装类的分类 介绍:针对八种基本数据类型对应的引用类型作用:可以调用包装类里面的方法分类: 13.1.2 包装类的继承关系 学一个类首…

    技术杂谈 2023年7月11日
    081
  • MySQL 知识点总结(简易版)

    MySQL 总结(简易版) 基本语法 0. 1基本语法 登录MySQL $ mysql -u root -p12345612 &…

    技术杂谈 2023年7月11日
    069
  • MySQL中Join和inner join的区别,以及left join、right join之间的区别

    点击阅读 本文来自博客园,作者:一个程序员的成长,转载请注明原文链接:https://www.cnblogs.com/bingfengdada/p/15539727.html Or…

    技术杂谈 2023年7月11日
    069
  • vs 2005 thread 无法调试

    两种办法: 1、打开项目属性,在”Debug”一项里,把”Enable the Visual Studio hosting process&#8…

    技术杂谈 2023年7月11日
    060
  • Linux性能监控(二)-top

    top命令可以用来监控服务器CPU、内存的运行情况,是Linux一个经常使用到的命令。 基本用法 第一行显示当前系统运行信息,系统当前时间是23:23:21,运行了315days,…

    技术杂谈 2023年7月11日
    091
  • windows 文件hash校验,字符串加密,base64转换工具

    个人博客地址 http://www.darkghost.life 对下载的文件使用hash校验验证文件完整性 1 import hashlib 2 def md5(): 3 md5…

    技术杂谈 2023年7月25日
    066
  • EMAS Serverless到底有多便利?

    EMAS Serverless 简介 EMAS Serverless 是阿里云提供的基于Serverless技术的一站式后端开发平台,为开发者提供高可用、弹性伸缩的云开发服务,包含…

    技术杂谈 2023年7月10日
    078
  • 「甄知科技」收购数智化开发平台「猪齿鱼」,将和已有产品「燕千云」融合形成产品闭环

    甄知 • 使命源自解决流程挑战 36氪获悉,专注企业业务服务和软件研发管理的「甄知科技」将完成对数智化开发平台「猪齿鱼」的收购。据了解,本次收购后,「甄知科技」将通过「燕千云」和「…

    技术杂谈 2023年7月24日
    066
  • 二维数组及滚动数组

    二维数组及滚动数组总结 在二维数组 num[i][j]中,每个元素都是一个数组。有时候,二维数组中的某些元素在整个运算过程中都需要用到;但是有的时候我们只需要用到前一个或者两个数组…

    技术杂谈 2023年6月21日
    099
  • 关于SQL语句的执行顺序

    首先,要清楚在一select语句中都会用到哪些关键字: 其次,要知道每执行一步就会生成一个对应的虚拟表: 明白这两点再看执行的先后顺序 1.from语句:不管是什么SQL语句,都得…

    技术杂谈 2023年7月11日
    080
  • 设计模式-模板方法模式

    简述 提取算法中 不变的部分封装成方法, 变化的部分 延迟到子类。 延迟到子类这个说法在学习设计模式的时候经常出现,实际就是利用多态在子类中重写方法,使得实行时根据实例的类型调用不…

    技术杂谈 2023年7月11日
    056
  • AndroidManifest.xml文件校验工具

    一、前言 前段时间总能碰见AndroidManifest固定字节被篡改的情况,每次都要拿着图一个个去对比那个固定字节处被篡改了,干脆直接写了个校验工具,这里分享给大家,工具没什么技…

    技术杂谈 2023年7月10日
    085
  • 时空的乐章

    广义相对论之前,时空仿佛是一个舞台,物理过程像戏剧一样千变万化,舞台却是不变的,广义相对论首次将时空变成了戏剧的一部分,变成了一个动力学概念,时空不再是不变的了,而在物理学上,几乎…

    技术杂谈 2023年5月31日
    082
  • django-ckeditor上传图片到七牛云OSS

    参考信息 django-ckeditor本地图片上传功能:https://www.jianshu.com/p/882cf85b604fdjango+ckeditor+七牛云,图片上…

    技术杂谈 2023年6月21日
    096
  • 检查笔记本配置

    检查电脑配置: 1.win+R,打开运行窗口。 2.输入:dxdiag 3.点击”确定”. 更改电脑默认存储位置。 在设置中搜索:储存感知,把保存新内容选项…

    技术杂谈 2023年5月31日
    083
  • 9月份欧盟,美国等国家标准变更

    一.欧亚经济委员会确认EAEU EAC的Safety以及EMC证书的有效期 欧亚经济委员会(EEC)近期通过第 113 号、114号决议,确认在2022年12月11日之前,未按第9…

    技术杂谈 2023年6月21日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球