nginx搭建jsdelivr鏡像站過程詳解
前言
最近 jsdelivr 可謂國內站長圈的頭條常客,這不,又雙叒叕(yòu shuāng ruò zhuó)打不開瞭。
如何解決這個問題?最簡單的方法當然是使用別人建立的jsd鏡像站,但是穩定性和可靠性就隻能看鏡像站長的心情瞭吧。自己動手豐衣足食,還是自己搞個鏡像吧。
創建 jsdelivr 鏡像站
首先,你需要有一臺安裝瞭 nginx 的服務器。推薦使用騰訊雲輕量服務器的Matomo鏡像,其中集成瞭最新穩定版 nginx、php、mariadb、Matomo 等服務端軟件。
把下面的 nginx 配置保存為 jsdelivr.conf,然後上傳到你的 nginx 站點配置目錄中, 一般為 /etc/nginx/include 或者 /etc/nginx/http.d。
使用上面提到的 Matomo 鏡像,請上傳到 /usr/local/lighthouse/softwares/nginx/conf/include 目錄
- 使用寶塔鏡像,可以替換下其生成的站點配置
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.net 為 jsd.rehiy.com 即可使用自己的jsd鏡像瞭。
當然,也可以把下面的代碼插入到你的站點 nginx 配置中,不修改站點源碼替換為自己的鏡像站。
sub_filter_once off; sub_filter_types application/javascript application/json text/xml text/css; sub_filter 'cdn.jsdelivr.net' 'jsd.rehiy.com';
以上就是nginx搭建jsdelivr鏡像站過程詳解的詳細內容,更多關於nginx搭建jsdelivr鏡像站的資料請關註WalkonNet其它相關文章!