現在越來越多的網站開始使用CDN加速,國內目前比較流行的有360網站衛(wèi)士、加速樂、百度云加速以及云盾,不少站長為了加快網站的訪問速度,都開始使用這些免費的CDN。 然而不少人開啟CDN后就放置不管,不加以任何配置,網站不僅沒有加速,反而越用越卡。這是為什么呢?這就要先搞清楚CDN的加速原理了,當用戶請求網頁時,會首先把這個請求發(fā)送到CDN節(jié)點上,靜態(tài)數據會直接調用緩存,如果是動態(tài)數據,CDN節(jié)點就要回源站獲取數據,再返回給用戶,這樣就經歷了多次轉發(fā),如果CDN節(jié)點或者源站稍有延遲,用戶就會覺得網頁加載緩慢。
網站靜態(tài)數據的獲取
網站動態(tài)數據的獲取 熟知CDN加速的原理我么就能理解為什么有的人會抱怨使用百度云加速后越用越慢,而有的人就會反映越來越快。所以使用了云加速后,我們還要做好緩存設置。 余斗分享兩種百度云加速CDN的配置方案 一、動靜態(tài)數據皆緩存 余斗網站就是使用這種配置,網頁數據無論靜態(tài)還是動態(tài),全部緩存到CDN,速度比以往是快了不少。 余斗使用的百度云加速為beta測試版,不保證以后更新后能否繼續(xù)適用。 需要自己自定義規(guī)則來開啟緩存!下面簡單分享下DedeCMS在百度云加速下開啟高速緩存的自定義規(guī)則,如圖點擊可進入設置:
百度云加速自定義規(guī)則的說明為: 規(guī)則自定義指對“指定URL”進行頁面級規(guī)則定制(支持通配符*)??蓪θ我庾佑蛎?、目錄、甚至單個URL進行針對性的加速緩存、安全防護等配置。列表中上下關系決定優(yōu)先級,靠上規(guī)則優(yōu)先級高。站長可以通過點擊“↑”調整優(yōu)先級。新增規(guī)則優(yōu)先級最低,將于30s內生效。 URL指定支持通配符*,例如 1) 對img.yoursite.com進行特定設置,需增加URL: img.yoursite.com/* 2) 對www.yoursite.com/news/ 進行特定設置,需增加URL: www.yoursite.com/news/* 3) 對www.yoursite.com所有html頁面進行特定設置,需增加URL: www.yoursite.com/*.html 因為自定義規(guī)則支持通配,這就簡單了!不過免費版只支持3條規(guī)則,這個就需要我們合理斟酌一下了。優(yōu)先級從上往下依次降低,所以我們要保證不緩存的規(guī)則寫到最上面,才能不會緩存規(guī)則覆蓋。 根據余斗個人經驗,一般DedeCMS網站設置如下3條規(guī)則即可: 1.網站后臺:yudouyudou.com/dede/* 設置為不緩存或細致緩存
2.搜索頁面:yudouyudou.com/plus/search.php*設置為不緩存
3.前臺頁面:*yudouyudou.com*前后通配設置為所有都緩存
解釋:細致緩存其實就是只緩存靜態(tài)文件,其中緩存時間或有效期請自行設定即可,無需余斗的配置來。另外由于百度云加速現在不能對單個域名設置了,所以最后的緩存規(guī)則是前后通配,保證某些網站的二級靜態(tài)域名也緩存到位。這只余斗我個人經驗推薦的配置,比如搜索頁就可以根據自己的需要設置為其他頁面,此處分享僅供參考! WordPress則推薦設置以下三個頁面: 網站后臺:yoursite.com/wp-admin/* 設置為不緩存或細致緩存 評論分頁:yoursite.com/*/comment-page-* 設置為不緩存或細致緩存 網站前臺:*yoursite.com* 設置為前后通配都緩存 這樣設置好了之后,網站前臺刷幾下就可以看到效果了,當然還可以F12到network里面去看header的緩存命中情況。 二、只緩存靜態(tài) 動靜態(tài)都緩存可以解決國內低配VPS的帶寬和負載這兩個問題。有一些網站,本地已有緩存或者訪問流量并不高,不想開啟全靜態(tài)緩存,因為會帶來的各種數據不刷新問題。因此,我們如何既解決速度問題,又兼顧實時數據呢? 當然,開啟CDN不進行整站緩存設置的話,大部分CDN會默認緩存靜態(tài)文件,基本滿足以上需求。但是某些CDN有個坑爹的規(guī)則:他會和諧某些關鍵詞,訪問有這些關鍵詞的頁面就提示違規(guī)并不顯示。 如何解決這個問題?很簡單,通過域名做動靜分離即可,即只緩存靜態(tài)文件: 將靜態(tài)鏈接替換為二級域名,并開啟CDN緩存。主域名則不走CDN或走CDN但不開啟緩存。 主域名不走CDN也很簡單,直接在解析時不開啟緩存即可,也就是直接回源。
如上設置后,你的網站的速度也會很快,當然前提是你的動態(tài)部分不卡才行。 兩種配置的區(qū)別 方案一 動態(tài)與靜態(tài)數據都被強制緩存到CDN,這樣即使是用戶第一次訪問網頁,本地沒有任何緩存,速度也很快。 方案二 只緩存靜態(tài)數據,動態(tài)數據依然會到源服務器上請求。這樣能解決帶寬問題的同時又解決了前臺數據不能實時刷新的尷尬。因為,占帶寬的主要是靜態(tài)文件,而非html代碼。我們將大體積的靜態(tài)文件托管到CDN加速,源服務器就只要負擔體積很小的html代碼流量了,速度自然就快了! 當然,采用方案二后很容易就出現了前文提到的開啟CDN反問變慢的尷尬。解決辦法也很簡單,本地開啟一下動態(tài)緩存即可。 |
|