天天看點

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

WordPress是一種非常流行的部落格網站平台,也可以當作一個内容管理系統(CMS)來使用, 是世界上使用最廣泛的部落格系統之一。WordPress有非常多優秀的插件,使得這個開源産品變得非常容易擴充,滿足不同的需求。

我準備利用一個系列的文章,來展示如果利用阿裡雲的各種産品(彈性計算,資料庫,安全等等),搭建一個完整的WordPress網站。内容包括:

三、動靜分離和CDN加速

動靜分離是網站優化的常見方式,通過将網站靜态資源與背景應用分開部署,通過提高靜态咨詢的通路速度來提高使用者的體驗。

使用者上傳的附件本來存儲在NAS檔案存儲當中,可以通過WordPress插件放入阿裡雲的OSS對象存儲中,存儲降低成本。CDN加速的部分選擇了阿裡雲的CDN産品,而沒有使用DCDN全站加速(

https://www.aliyun.com/product/dcdn

),其主要原因是後面的示範會增加高防IP會有沖突;否則利用DCDN的動态加速功能,能夠讓網站的動态請求通過阿裡雲的CDN邊緣節點進行跳轉,回源速度更快。

這個部分的架構圖如下,基于上一個版本增加了:

  • OSS對象存儲:存放使用者向WordPress上傳的附件
  • CDN:通過CDN邊緣節點的緩存機制加速附件靜态檔案的讀取
利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

準備OSS存放附件

阿裡雲OSS對象存儲(

https://www.aliyun.com/product/oss

)沒有預付費版本,是以務必記得購買資源包來抵扣用量,否則很不劃算。首先建立一個Bucket,注意讀寫權限(ACL)應該設定為私有,後面用授權來控制使用,否則如果被刷的話會導緻使用費用大增。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

建立完成之後,需要擷取地域節點VPC内網位址和Bucket域名外網位址記錄下來,後面會用到。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

然後給OSS填加域名,這個域名注意要和主站域名不一樣,才能讓靜态附件檔案到OSS來處理。這裡沒有使用CDN加速功能,後面單獨配置也是一樣的。

另外要注意,如果域名和DNS不是在同一個賬号下面的話,最後一個自動添加CNAME記錄功能也是不可用的,需要手動在DNS裡面添加前面記錄的Bucket域名外網位址。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

然後回到安裝并設定WPOSS插件。需要配置Bucket名稱,前面記錄的地域節點(内網),AK資訊(參考

https://help.aliyun.com/document_detail/31827.html

),本地檔案夾(使用預設值wp-content/uploads),和最後一項Bucket域名+檔案路徑尾巴。Bucket域名就用前面在DNS中設定的域名,當然也可以直接使用bucket域名外網位址,隻不過顯得網站不夠專業罷了。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速
利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

設定完成之後,在WordPress的媒體中插入一個檔案試試,然後就可以在OSS中看到了。如果在設定時選擇了“不在本地保留備份”選項,那麼連接配接在ECS的NAS中的本地檔案夾(預設為wp-content/uploads)中也不會再保留檔案。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速
利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

前面将OSS的ACL設定為了私有,為了讓WordPress的讀者可以下載下傳檔案,可以利用Bucket Policy授權功能,将資源路徑(預設wp-content/uploads/*)中的資源以HTTP的方式進行讀取,這樣才能讓讀者看到并且下載下傳博文中的附件。參考

https://help.aliyun.com/document_detail/85111.html

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速
利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

OSS是按使用量收費的服務,如果被他人盜鍊有可能會産生額外費用。是以,一般來說需要利用防盜鍊功能進行防護。添加域名(https後面才會用到)即可。參考

https://help.aliyun.com/document_detail/31901.html
利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

利用CDN加速

WordPress最大的資料一般都是來自附件檔案,添加CDN可以大大提高使用者的檔案下載下傳速度。阿裡雲的CDN(

https://www.aliyun.com/product/cdn

)邊緣節點有2500+個,大大高于騰訊華為的1100+個,可見阿裡雲在CDN内容分發網絡上的重視和投入。

另外提一句,阿裡雲的CDN類産品裡面有一個很重要的産品叫做DCDN全站加速(

),不僅僅和一般CDN一樣,支援靜态檔案加速,還能利用阿裡雲豐富的邊緣節點進行動态加速。動态加速最近支援了Websocket和IP應用加速,個人了解在業界已經是數一數二了,可以了解一下:

https://yq.aliyun.com/articles/686839

https://yq.aliyun.com/articles/703346

不過這次demo使用的是純靜态加速,就先上一個一般的CDN好了。注意設定源站資訊要選擇OSS域名,端口80(對應之前OSS的Bucket Policy授權為HTTP)。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速
利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

設定完成之後把系統生成的CNAME添加到DNS雲解析中。主機記錄可以随意選,一般用static或者oss這種比較容易了解的吧。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

回到OSS中确認一下,應該可以看到自動拉取的DNS和CDN資訊,這就表示設定完成了。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速
利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速

回到WordPress上傳一個檔案試試看,這次确實上傳到了OSS的Bucket裡面。

利用阿裡雲搭建WordPress網站 – 動靜分離和CDN加速三、動靜分離和CDN加速