服務器帶寬不夠?流量有限?速度太慢?開發者或網站管理者時常會用到一些 JS庫,例如最常見的 jQuery 或 css 框架,通常不建議自己在服務器存儲這些靜態文件,因為除了耗流量,也可能因此拖慢網站的載入速度。那怎么辦呢?你需要做的就是CDN加速。
CDN的工作原理就是將您源站的資源緩存到位于全球各地的CDN節點上,用戶請求資源時,就近返回節點上緩存的資源,而不需要每個用戶的請求都回您的源站獲取,避免網絡擁塞、緩解源站壓力,保證用戶訪問資源的速度和體驗。這么牛B的功能肯定要錢吧?No,No,No統統不要錢,統統免費。
首先,國內比較有名的有七牛云,注冊認證后有10G永久免費空間,每月10G國內和10G國外流量,速度相當快,有免費ssl證書,但https流量收費,必須要綁定自己的已備案的域名。
又拍云,注冊認證后有10G永久免費空間,每月15G的HTTP和HTTPS流量,需要綁定自己的已備案域名,認證比較麻煩。
不好,這倆都不好。我沒有域名,我就想白嫖,就想順便存點什么,那請使用CDN神器jsdelivr。它可以全球范圍內npm、GitHub、wordPress/ target=_blank class=infotextkey>WordPress等項目的鏡像加速,從此讓網頁不再等待。下面簡單介紹jsdelivr+GitHub的簡單使用。
首先,去github創建一個倉庫,名字就叫“mycdn”吧。
接下來,clone
https://github.com/yourname/mycdn.git。將剛剛的項目克隆到本地。根據自己的需求將靜態文件放到這個項目中。下圖是我的項目結構:分成css、js、圖片、視頻等文件夾。
第三步,保存更改,提交到github(git add . > git commit -m 'msg' > git push),這個時候所有的更改都會提交到遠程服務器。
第四步,點擊release發布。如下圖,版本號自己隨意。
點擊 Publish release按鈕(發布發行),成功之后你會看到資源的壓縮包列表。
第五步,在其他項目中訪問資源文件。想要使用剛剛發布的資源也很簡單,只需要在使用的地方參照網址
https://cdn.jsdelivr.net/gh/{your github name}/mycdn@{版本號,就是上一步你填寫的}/{文件路徑}。例如,
https://cdn.jsdelivr.net/gh/light/mycdn@0.2/image/xw.png這個就是圖片的訪問路徑。
第六步,更新你本地的mycdn項目后,重新提交,發布,使用不同版本號就能訪問更新后的內容,老版本的鏈接不受影響。
總結,jsdelivr確實很快,但 jsdelivr 有兩個限制: 單文件不能大于 20M, 倉庫的某版本不能大于 50M。所以使用的適合要多加注意,解決辦法就是分包,分版本。免費的東西拿來用用還是可以的,對于比較重要的文件還是選擇大服務商比較放心。