前言

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。——百度百科

说明:我们把博客文件部署到github上难免会加载起来很慢,但是并不是没有办法滴。优雅使用CDN加速来优化网站打开速度,jsDelivr /cdn + Github。

开始操作

前期准备

  1. 一个 Github 账号
  2. 可以登录 GitHub
  3. 懂得如何向 GitHub 仓库 push 文件

关于 Github 仓库可以新建,也可以使用 <用户名>.github.io 这个仓库。这里我就新建一个仓库为例。

正式开始

  1. 新建创库

    仓库名称与描述自定义,但仓库一定要公开,不能是私有哦!

创建完创库后我们可以用命令行初始化创库,具体操作创建完创库会给出提示怎么做的了,我这里教你本地上传文件,再次上传只需要拖到初始化的文件夹上传就OK了。

  1. 本地新建一个文件夹,文件夹名称自定义,然后进入文件夹,在文件夹内依次执行下面的命令

  2. 接着在本地新建的文件下,右击->git bash,请确认你已安装git分布系统了

git init
git remote add origin 你新建仓库的HTTP或者SSH地址链接
git pull origin master #将仓库拉取到本地文件夹

然后呢,把你要上传的文件放进这个文件夹内(可以多层目录滴)


4.上传文件,依次执行下面的命令

git add .    #(.表示所有的)
git commit -m '添加文件内容描述'
git push origin master   #将本地仓库文件推送到GitHub新建的仓库
  1. 然后呢,到github仓库库预览效果,若能看到上传的文件则说明推送成功了,接下来发布仓库->点击release,进行版本的发布


6. 自定义发布版本号,添加标题和描述等即可

7. 通过jsdelivr引用资源

  • 使用方法:https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件及路径

  • 例如:https://cdn.jsdelivr.net/gh/chuchendjs/HexoStaticFlie@1.0/butterfly/css/friendlink.css

    注意:版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源

  1. 若再次仓库里添加或者修改文件,首先把文件添加到本地仓库,然后依次在本地仓库文件位置执行以下命令:
git pull origin master  #拉取远程仓库到本地
git add .
git commit -m '描述内容'
git push origin master  # 推送到GitHub仓库

常见问题

以上的方式简单粗暴,上传即可,但是这种方式存在几个问题。

JSD 的链接是什么

在我上图的链接为 https://cdn.jsdelivr.net/gh/chuchuendjs/HexoStaticFile/css/friendlink.css,但是并不意味着 JSD 只有这一种引用方式。

  1. 直接引用
    格式为:https://cdn.jsdelivr.net/gh/<用户名>/<仓库名>/<文件及路径>
    例如: https://cdn.jsdelivr.net/gh/chuchuendjs/HexoStaticFile/css/friendlink.css
  2. 分支及版本号
    分支与版本号加到仓库后,用 @符链接。
    格式为: https://cdn.jsdelivr.net/gh/<用户名>/<仓库名>@[分支/版本号]/<文件及路径>
分支名 描述 特点
普通分支 即 GitHub 的分支,可以创建多个,默认为 master 按分支引用
latest 最后一次提交 每上传一个新文件,都可以用这个分支引用。即不加版本号的默认情况。
版本号 指定版本的内容,需配合版本发布 已发布的版本不会受到仓库内容变化的影响 ,上面已经展示了如何引用

关于缓存问题

据我所知,不仅与分支有关系且与文件名有关系。文件名为 * .min. * 或者是 * *,也就是带 min 的和不带 min 的。这里我以 index.min.css 和 index.css 为例。

  1. index.css
分支 首次上传 能否及时更新 缓存天数
master 可以被引用 第一次 push 和第一次修改可以更新 可能 1 天
latest 可以被引用 与 master 分支几乎一致 可能 1 天
版本号 发布版本后引用 发布后及时更新 每个版本独立
  1. index.min.css
分支 第一次上传 能否及时更新 缓存天数
master 可以被引用 第一次 push 可以更新 可能 1 天
latest 可以被引用 第一次 push 和第一次修改可以更新 可能 1 天
版本号 发布版本后引用 发布后及时更新 每个版本独立

文件是否有限制

  1. GitHub 公开仓库大小为 100GB,所以不用担心不够用的问题了。并且你可以创建无数个仓库哟!

    注意:100GB 我们并不能全用完滴,可能每个仓库不能超过 1G。超过 1G 后会有人工审核仓库内容,若发现用来做图床,轻则删库,重则封号

    建议在 1G 之前就应该换个仓库了!

  2. 文件大小

    Github 单文件上传为 100M,但是 JSD 加速的单文件大小为 50M。所以也就意味着单文件大小为50MB 。

  3. 文件类型

    图片视频静态文件基本都是可以滴。

总结

  • 图床(不需要修改文件)

    使用 latest 分支或者 master分支即可。

  • 静态文件仓库,即 css,js等文件(经常改动文件)

    建议使用版本号方式,因为发布后可以及时更新到

优雅使用Jsdelivr/CDN加速博客访问速度相关推荐

  1. 使用Jsdelivr CDN加速博客访问速度

    文章目录 CDN加速 1.首先新建GitHub仓库 2.本地新建本地工作区 3.发布仓库 CDN加速 CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在网络 ...

  2. 猿创征文|hexo博客访问速度优化:vercel+又拍云CDN

    hexo博客访问速度优化:vercel+又拍云CDN 前言 为了追求博客访问速度,还是决定把博客挂上又拍云CDN,之前已经申请了又拍云联盟,每个月送15GB的CDN流量,关键还是HTTPS的.对于我这 ...

  3. Jsdelivr CDN 加速服务又被 DNS 污染了(附临时解决方案)

    近两天写博客的时候发现 Jsdelivr 的 CDN 加速服务用不了,具体表现为添加 Jsdelivr CDN 的链接无法访问. 这里给个例子: GitHub 图片原链接(访问有点慢) https:/ ...

  4. ripro主题后台Jsdelivr CDN 加速服务挂了的临时解决方案。

    近两天写博客的时候ripro后台的图标都没法显示了,查了一下发现ripro后台用的是Jsdelivr 的 CDN 加速服务,而最近两天Jsdelivr CDN正好在大陆无法访问了,只能临时解决一下. ...

  5. 解决coding上的hexo博客访问不了的问题

    解决coding上的hexo博客访问不了的问题 参考文章: (1)解决coding上的hexo博客访问不了的问题 (2)https://www.cnblogs.com/senup/p/12118336 ...

  6. 纪念博客访问破百万!

    是的,如题所示,博客访问破百了!这是在写博客之初想都不敢想的大事,没想到就在这么一个平平淡淡的日子成功实现,像往常一样平淡的天气和像往常一样平淡的工作. 最刚开始写博客,只是偶然想记录下自己的所得所获 ...

  7. jsdelivr cdn大陆挂了不能访问替代方案

    [查看原文] 今天是2021.12.20,jsdelivr cdn大陆挂了不能访问了 jsdelivr挂了, npm库替换 如果你使用的是npm库,使用unpkg.com替换! 什么?unpkg太慢了 ...

  8. 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度

    碰到问题:移动用户访问web服务器www.osyunwei.com很慢 解决办法: 1.在移动机房放置一台nginx反向代理服务器 2.通过域名DNS智能解析,所有移动用户访问www.osyunwei ...

  9. 如何通过CDN加速网站的访问?

    CDN工作原理 CDN的工作原理就是将您源站的资源缓存到位于全国各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞.分担源站压力,保证用 ...

最新文章

  1. 学习Windows Phone手机开发:Tile的使用
  2. 机器人学习--视觉定位数据集介绍
  3. EL表达式和标准标签库
  4. update table with temprary table
  5. 如何在运行时打印出 SAP Spartacus 配置(config)信息
  6. 台州银行登录显示服务器异常,台州银行网上银行异常问题处理
  7. Windows 10 常用的快捷键及常用指令
  8. leetcode 55. 跳跃游戏 思考分析
  9. 如何选择合适的商业智能BI软件
  10. mui 中template 的使用
  11. 正则表达式限制文本框内容
  12. C语言中static的使用
  13. Install R language on Linux RHEL5 or RHEL6
  14. python 包之 Pygame 游戏开发教程
  15. 我在 CMU 的八年博士生涯...
  16. VIJOS P1540 月亮之眼
  17. windows桌面ui开发
  18. android m是什么版本号,Android M版本号确定,并不是Android 6.0
  19. **Mybatis怎么自动生成Mapper文件和实体类**
  20. android高德地图后台运行,Android手把手教你集成高德地图

热门文章

  1. 0x01 前情提要随着疫情反复,今天我在家办公。我需要登一台服务器上配置,但是那个地址只能通过深信服vpn连接,在家办公一天就带了台kali系统的笔记本回来,没带windows的。 kali上
  2. VMware 无法将值写入注册表项
  3. 高通WLAN框架学习(27)-- Types of regulatory 和WCNSS_qcom_cfg.ini配置参数
  4. C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件)
  5. google退出后产生的影响
  6. Node.js基础入门
  7. 前淘宝工程师:12306几乎是一个奇迹
  8. java graphics 渐变色_使用BufferedImage进行渐变色操作
  9. 机械设备网站建设多少钱
  10. 芯片程序保护-常规芯片加密方式