天天看點

輕松搭建自己專屬CDN

一、背景

前段時間筆者搭建一個部落格系統放在伺服器上,為了提高通路速度和減輕伺服器通路壓力,決定将頁面中的靜态資源使用 CDN 進行加速通路。

二、選擇方案

常見的 CDN 方案有 ​​BootCDN​​​ 和 ​​jsDelivr​​,筆者選擇後者。

因為筆者編寫的 jQuery 自定義插件,但無法上傳到 BootCDN 上進行加速使用。而 jsDelivr 不同,它很強大,通過 GitHub 搭配 jsDelivr 可以搭建自己專屬的 CDN 庫。

三、實戰

接下來将介紹 jsDelivr 與 GitHub 如何搭配使用。

.

4.1 建立倉庫

登入 GitHub 賬戶,建立新的倉庫,倉庫名為 ​

​cdn​

​ ,如下圖:

輕松搭建自己專屬CDN

.

4.2 上傳資源

将倉庫下載下傳下來,添加靜态資源檔案,筆者添加了 ​

​jquery.min.js​

​ 檔案,然後上傳到遠端倉庫,如下圖:

輕松搭建自己專屬CDN

.

4.3 釋出版本

GitHub 倉庫界面,點選 ​

​tag​

​​ => ​

​Releases​

​ ,操作如下圖:

輕松搭建自己專屬CDN

.

4.4 通路

此時,我們通過如下 url 規則即可通路剛才釋出的資源了:

​https://cdn.jsdelivr.net/gh/<GitHub 使用者名>/<GitHub 倉庫名>@<釋出的版本号>/<檔案路徑>​

​​https://cdn.jsdelivr.net/gh/Trojain/[email protected]/jquery.min.js​​

輕松搭建自己專屬CDN

五、額外功能

.

5.1 通路最新檔案

其實,不釋出版本我們也可以直接通路靜态資源。

我們再往遠端倉庫中添加​

​bootstrap.css​

​檔案,無需釋出新版本,請求 url 規則如下:

​https://cdn.jsdelivr.net/gh/<GitHub 使用者名>/<GitHub 倉庫名>@latest/<檔案路徑>​

是以,通路​

​bootstrap.css​

​​檔案的 url 為:​​https://cdn.jsdelivr.net/gh/Trojain/cdn@latest/bootstrap.css​​

效果如下圖:

輕松搭建自己專屬CDN

此請求方式可以實時更新緩存,但官方不推薦使用。

.

5.2 代碼壓縮

jsDelivr 還提供了代碼壓縮服務,将 ​

​js​

​​ 和 ​

​css​

​ 檔案代碼進行壓縮。

上邊我們上傳了 ​

​bootstrap.css​

​​,隻需将檔案名改成 ​

​bootstrap.min.css​

​ 可以通路壓縮後的檔案資源,如下圖:

輕松搭建自己專屬CDN

.

5.3 資源清單

檢視 jsDelivr 中的 CDN 資源清單

​https://cdn.jsdelivr.net/gh/<GitHub 使用者名>/<GitHub 倉庫名>/​

輕松搭建自己專屬CDN

.

​https://www.jsdelivr.com/package/gh/<GitHub 使用者名>/<GitHub 倉庫名>​

六、注意事項