前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 nginx 搭建 jsdelivr 镜像站

基于 nginx 搭建 jsdelivr 镜像站

原创
作者头像
若海
修改2022-05-27 10:19:53
2.2K6
修改2022-05-27 10:19:53
举报
文章被收录于专栏:云原生拾遗云原生拾遗

最近 jsdelivr 可谓国内站长圈的头条常客,这不,又双叒叕(yòu shuāng ruò zhuó)打不开了。

如何解决这个问题?最简单的方法当然是使用别人建立的jsd镜像站,但是稳定性和可靠性就只能看镜像站长的心情了吧。自己动手丰衣足食,还是自己搞个镜像吧。

创建 jsdelivr 镜像站

  • 首先,你需要有一台安装了 nginx 的服务器。推荐使用腾讯云轻量服务器的Matomo镜像,其中集成了最新稳定版 nginxphpmariadbMatomo 等服务端软件。
  • 把下面的 nginx 配置保存为 jsdelivr.conf,然后上传到你的 nginx 站点配置目录中, 一般为 /etc/nginx/include 或者 /etc/nginx/http.d
    • 使用上面提到的 Matomo 镜像,请上传到 /usr/local/lighthouse/softwares/nginx/conf/include 目录
    • 使用宝塔镜像,可以替换下其生成的站点配置
代码语言:text
复制
server {

    listen 80;

    listen 443 ssl http2;

    # 请更改为你的证书路径
    ssl_certificate certs/default.cer;
    ssl_certificate_key certs/default.key;

    # 请更改为你的镜像域名
    server_name jsd.rehiy.com;

    location / {
        proxy_pass https://cdn.jsdelivr.net;
        proxy_set_header Host $proxy_host;
        proxy_set_header Accept-Encoding '';
        proxy_ssl_server_name on;
        proxy_ssl_name $proxy_host;
        proxy_redirect / /;
        # Proxy Cache
        proxy_cache jsdelivr;
        proxy_cache_lock on;
        proxy_cache_lock_timeout 15s;
        proxy_cache_use_stale updating;
        proxy_cache_background_update on;
        proxy_cache_key $host$request_uri;
        proxy_cache_valid 200 301 302 30d;
        proxy_cache_valid 500 501 502 503 15s;
        proxy_cache_valid any 5m;
        # Replace Domain
        sub_filter_once off;
        sub_filter_types application/javascript application/json text/xml text/css;
        sub_filter '$proxy_host' '$host';
    }

}

# 缓存路径请根据需要更改
proxy_cache_path /var/tmp/nginx/jsdelivr levels=1:2 use_temp_path=off keys_zone=jsdelivr:300m inactive=30d max_size=30g;

使用 jsdelivr 镜像站

在你的站点源码中批量替换 cdn.jsdelivr.netjsd.rehiy.com 即可使用自己的jsd镜像了。

当然,也可以把下面的代码插入到你的站点 nginx 配置中,不修改站点源码替换为自己的镜像站。

代码语言:text
复制
sub_filter_once  off;
sub_filter_types application/javascript application/json text/xml text/css;
sub_filter 'cdn.jsdelivr.net'  'jsd.rehiy.com';

重要提示

请一定更换文中的示例域名 jsd.rehiy.com 为自己的域名,否则无法正常使用。


腾云先锋(TDP,Tencent Cloud Developer Pioneer)是腾讯云 GTS 官方组建并运营的技术开发者群体。这里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹。来加入属于我们开发者的社群吧。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建 jsdelivr 镜像站
  • 使用 jsdelivr 镜像站
  • 重要提示
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档