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