CDN,全稱 Content Delivery Networks,即內容分發網絡。其原理很簡單,即用户訪問時內容不是從原始服務器上獲得的,而是從 CDN 智能解析的服務器上獲取的,內容是緩存到 CDN 服務器上的。通常 CDN 服務商會有多個機房,而智能解析總是到訪問最快的機房,所以通過 CDN 能顯著地加快訪問速度。另外還有一個好處是 CDN 加速可以減輕服務器的流量壓力。

但是 CDN 也不是沒有缺點,對於動態網頁,由於有緩存,所以會造成延遲,很可能獲取的的頁面不是最新的,或者一些帶有 query 的頁面無法執行。

但是對於靜態內容效果還是十分顯著的。對於 WordPress 來説,最大的靜態內容的來源就是上傳文件夾了。

由於 CDN 實現的是域名級別的加速,所以我們得讓上傳文件夾單獨使用一個域名。虛擬主機一般支持子域名,我們只要添加一個子域名就行了 (比如我添加的就是 uploads.tsukkomi.org) 。有的虛擬主機可以選擇子域名對應的文件夾,這樣只要指向 WordPress 目錄下的 wp-content/uploads 目錄就行了;有的虛擬主機不能選擇子目錄,而是默認在站點的根目錄下面的同名文件夾 (比如我的就是根目錄下的 uploads 文件夾),這種情況就需要把 wp-content/uploads 目錄移動到根目錄下。至於 VPS 等獨立服務器的,只要配置 httpd 的設置就行了,相信玩 VPS 的都會配置的,就不祥説了。

如果不能選擇子域名對應的目錄的情況,由於上傳目錄被移動了,我們還要修改 WordPress 的上傳目錄。進入 WordPress 的後台控制版,左邊的“ 設置” 下的“ 媒體” 選項中的“ 默認上傳路徑”,改成相對於 WordPress 目錄的路徑。比如我的 WordPress 直接放到站點根目錄下,子域名對應的 uploads 目錄也在站點根目錄下,那麼直接改為“uploads” 就行了。如果子域名對應的目錄在 WordPress 的上一級目錄下,就需要改為“../uploads”(“../” 表示向上一層目錄) 。

由於我們要讓上傳目錄使用獨立域名,所以同樣在媒體選項下的“ 文件的完整 URL 地址” 也得修改,否則 WordPress 還是使用相對於原域名的地址。把完整的域名 URL 填進去就行了 (注意最後不要加“/”),比如我的就是“http://uploads.tsukkomi.org” 。

 

還有一個問題—— 原來發布的日誌使用的是老地址,無法獲得加速效果,而且如果上傳目錄移動了的話還會使原來的文件無法訪問,得改成新地址才行,但是一篇一篇日誌地改實在太麻煩。如果會使用 SQL 修改的可以直接登入 phpMyAdmin 之類的工具用 SQL 命令修改,如果不會使用 SQL 或者沒有辦法使用 SQL 修改的話,只有通過插件了。 Search & Replace,就是我們要使用的插件。

下載安裝好並啓用 Search & Replace 後,在 WordPress 控制版的“ 工具” 下會出現“Search & Replace” 選項。進去之後可以看到有兩部分,上面的是“Information Search & Replace”,用來檢索數據庫裏的信息;下面是“Search In”,用來替換信息。

首先我們先用上面來搜索一下,勾選“All – only search!” 後面的複選框,在“Search for” 後面填入我們要搜索的內容,這裏我們要搜索的是原來的地址,我的就是“http://tsukkomi.org/wp-content/uploads”(注意最後沒有“/”) 。點“Go” 按鈕開始搜索。搜索結果會顯示在最上面,有興趣的可以分析一下,如果結果為 0,就要看看是不是什麼地方填錯了。

然後我們就要替換了。要替換的內容主要是兩部分—— 一部分是日誌中的地址,還有一部分是上傳的文件的 GUID 。所以在下面的“Search In” 部分中,我們要勾選第一個“Content” 和第二個“GUID”,然後在最下面的“Search for” 裏填上剛剛在上面搜索的原地址,然後在“Replace with” 裏填上我們在“ 文件完整 URL 地址” 裏設置的地址 (最後沒有“/”) 。然後點“Go”,等替換完之後會在上面顯示替換的數量。要替換的就這些,如果在其他地方也出現了原地址而沒有替換,理論上是沒有影響的,但如果你看着不順眼可以全部替換了。

CDN 服務有很多,但是我們今天要設置的是方便好用還免費的 CloudFlare(http://www.cloudflare.com) 。註冊就不説了,大家應該是輕車熟路了。

在 My Websites 頁面下,有一大大的輸入框,輸入域名 (因為 CloudFlare 要接管 DNS,所以要輸入你註冊的域名,而不僅僅是需要加速的子域名。就算你輸入的是子域名,導入的也是註冊的域名),點那個大大的“Add this website” 綠色按鈕就行了。

 

然後 CloudFlare 會掃描你的域名 DNS 設置,掃描完後點“Continue to Step 2” 繼續。