前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何高效利用jsdelivr做cdn-GitStatic插件

如何高效利用jsdelivr做cdn-GitStatic插件

作者头像
乔千
发布2020-04-16 18:22:46
1.3K0
发布2020-04-16 18:22:46
举报

前言

介绍

这款插件是基于默认 jsdelivr 静态加速, 类似于 cos/oos 储存静态方案,相信如果有前端开发经验的都知道,jsdelivr 做静态加速也是不错的。

对比一下

  • cos 收费 × (免费 60GB 可以试试)
  • oss 小贵 ×
  • Git 免费 √

既然这样市面上有此类插件那么这款插件, 我们要拉开特点,又要如何做?

特点

全站静态加速

在上个版本的经验进行重构的 2.0 版本 插件从图像附件插件跳出,新版本涵盖了静态资源包括图片 附件... anyone 都可以使用

可移植性

跳出了 typecho 插件限制,如果你能设置静态加速 URL 地址,均可以使用本方案。 为什么能使用呢?来了解一下新版方案

工作原理

 插件->自建中转站点(此站点为核心逻辑)->git

插件仅仅替换图片地址,然后使用中转站点多资源进行静态加速分发到 jsdelivr (当然也可以使用 cos/oss 对其进行 git 资源分发)

全站 webp

使用 webp 可有效减少图片的流量消耗,加快图片分发,举个例子 2mb 图片能压缩 40%左右 对整个页面负载大大减少。

上传速度大幅提高

收到上个版本反馈,上传速度大幅提高来源于工作原理,上传图片会保存在本地 (然后上传就完成了),等等你说 cdn,cdn 会在第一次访问的时候对你站上图片下载,之后处理上传到 jsdelivr 不干预上传过程导致上传速度突突突的

支持多仓库分离

支持多个仓库配置 同时加速分发

教程

下载

gitstatic 下载会获取到一个 xxx.zip 的文件

解压

解压后你将看见一些文件和两个目录 *TY 内部文件移动到 usr/plugins/GitStatic/ 目录 *CDN 按照下面配置教程设置

配置静态加速中转处理

创建一个新的域名

例如 test.9st.top 又或者 cdn.9st.top

配置伪静态

if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; }

非 Nginx 用户提醒: 将流量导向 index.php 即可 伪静态有待补充

设置配置

打开站点目录找到解压后的文件 config.php 按照 config.php 的注释配置 提示:

  • 您需要有 git 账号
  • 您需要创建了仓库

最后需要获取 token,token 如何获取? 友人的教程 以上教程为旧版教程 只需要按照已经获取 token 继续阅读本文配置 获取 token 以上为 csdn 第三方博客 获取 token 教程

以上为测试站点的配置

1.site 地址为回源地址,填写博客地址即可

2.sitekey 关系以后 api 安全,请修改 qiaoqianwu 默认密码为其它密码

3.webp 为全站图片压缩开关

4.username 为 github 账号名 (非邮箱)

5.path 默认为空请不要瞎改

6.repos 为仓库名

7.Parameter 为是否关注 url 参数缓存 默认 false

8.cachetime 设置缓存时间 多久更新一次缓存

默认 0 (一般填 0 请不要按照我的配置错误瞎来)

因为图片如果你清理本站图片,导致 git 回源失败,你图片就没了。

设置插件

将 plugin.php 文件放到 usr/plugins/GitStatic/ 后 打开设置

将中转站点的 url 填入设置 url 规范 http:// 中转站点域名 / 绑定的目录 https:// 中转站点域名 / 绑定的目录 那么问题来了绑定的目录是啥 刚刚配置 config.php 文件中的配置

$config["router"][绑定的目录]=绑定配置序号

例如我绑定的是 git https:// 中转站点域名 /git

魔改开始

如何配置全站加速

介绍教程 加速 URL 按照上面的设置插件的教程设置 URL

如何配置多仓库加速

先在 cdn 中转站点 config.php 添加以下

$config["router"]["需要绑定的目录"]=x(数字);$config["github"][x]["site"]="需要回源地址";$config["github"][x]["webp"]=true;$config["github"][x]["path"]="";$config["github"][x]["username"]="MQiaoqian";$config["github"][x]["repos"]="MCDN";//仓库$config["github"][x]["Parameter"]=false;$confug["github"][x]["CacheTime"]=0;$config["github"][x]["token"]="token";

具体参数如何配置参见上面的参数说明和 config.php 其中 x 为数字 用于目录和配置的绑定

分离图片加速和静态资源加速

待补充

优化 URL 结构

待补充

细节注意

待补充

后言

待补充

更新日志

2020.4.20 更新 1. 再一次重写 中间端 2. 优化 config 配置 想法 1. 是否引入 memcached

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 介绍
    • 特点
      • 全站静态加速
        • 可移植性
          • 工作原理
        • 全站 webp
          • 上传速度大幅提高
            • 支持多仓库分离
            • 教程
              • 下载
                • 解压
                  • 配置静态加速中转处理
                    • 创建一个新的域名
                    • 配置伪静态
                    • 设置配置
                  • 设置插件
                    • 魔改开始
                      • 如何配置全站加速
                      • 如何配置多仓库加速
                    • 分离图片加速和静态资源加速
                      • 优化 URL 结构
                        • 细节注意
                          • 后言
                            • 更新日志
                            相关产品与服务
                            对象存储
                            对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档