2017年5月31日 星期三

Google Cloud Platform雲端主機!自架VARNISH快取主機,讓WordPress載入速度快10倍

  有在觀注梅問題教學網的朋友,應該有感受到,這幾天打開梅問題教學網的網站或文章,速度明顯的快許多,難道是梅問題教學網搬家了嗎?其實不是,而是梅干在Goolge的雲端主機中,架設了一台VARNISH快取主機,而什麼是快取主機,其實它就有點像CDN的概念,會將主站的內容暫存一份到主機中,當下回有人再瀏覽時,就不用再到主機中去取資料,而是直接由快取主機中直接派送,因此主機的部分,一樣還是放在糖果中。

  由於糖果主機無論在穩定度,還是處理速度上,梅干個人都感到相當的滿意,唯一只有在開啟的速度上,雖然梅干已將網站進行了優化,但還是會受限於機房在美國的,因此在很早之前梅干也曾用過台灣的幾家CDN的服務,但都無法快取住頁面,只能快取住CSS或JS檔,因此這樣幫助實在不大,雖然Cloudflare付費版,可快取網站,但費用上不便宜,所以最近發現一個比較划算的方案,那就是在Google雲端主機中,架設一台VARNISH快取主機,一來可以不用搬家,二來又能快取頁面,讓網頁瞬開,而透過VARNISH的好處是,快取是暫存在記憶體中,因此清除暫存時,速度相當的快,且還可自行手動的清除單一暫存的頁面,相當的方便喔!因此有興趣想架設的朋友,現在也一塊來看看。


Step1

首先進到Google Cloud Platform雲端主機的後台,按上方的

「建立執行個體」

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step2

接著將機房設為亞洲區,並選擇

「Ubuntu 16.04 LTS」

的作業系統。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step3

分別將下方的HTTP與HTTPS的流量勾選後,再按

「建立」

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step4

建立完畢後,再對著剛所建立好的主機,按後方下拉選單中的

「在瀏覽器視窗中開啟」

選項。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step5

接著輸入

sudo apt-get update

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step6

完成後,再輸入

curl -s https://packagecloud.io/install/repositories/varnishcache/varnish5/script.deb.sh | sudo bash

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step7

下載完畢後,再輸入

sudo apt-get install varnish

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step8

再按

y

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step9

這樣VARNISH快取主機已架設完畢了,相當的簡單吧!接著再來就剩下設定的部分,接著輸入

sudo nano /lib/systemd/system/varnish.service

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step10

將:6801改為

:80

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step11

改好後,再將游標向後移動。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step12

把預設的256mb更改為

2G~3G

,此為暫存的容量,當超過時就會自動清除。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step13

都改好後,再按

Ctrl+X

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step14

再按

y

確認。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step15

再按一次Enter就可將文件儲存起來。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step16

接著再輸入

sudo systemctl daemon-reload

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step17

再輸入

sudo service varnish restart

,重新啟動varnish主機。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step18

接著再輸入

sudo nano /etc/varnish/default.vcl

,設定要快取的主機位置與域名。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step19

分別將.host設為要快取主機的IP位置,以及將.port設為80。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step20

接著將sub vcl_recv中的host更改為要快取主機的域名,完成後,一樣將文件儲存起來。

sub vcl_recv{
 unset req.http.Cookie;
 set req.http.host = "buy.minwt.com";
}
sub vcl_synth{
 if(resp.status == 277){
  set resp.status=200;
  set resp.http.Content-Type ="application/jason; charset=utf-8";
  synthetic({"{ "success":true, "msg": "purged" }"});
  return(deliver);
 }
}

sub vcl_backend_response{
 set beresp.ttl = 10d;
}

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step21

接著可在本機設定hosts先進行測試一下,沒問題後,再把DNS的IP指過去就可以了。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step22

當開啟用快取後,首頁的DOM載入只需14ms,真是飛快,其它相關的css、js也是一樣。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step23

當未啟用快取時,首頁的DOM就需1.69s,因此足足快了10倍左右,而整體因為有圖片,所以也快了近2倍。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step24

由於VARNISH本身http是免費的,若是https則需升級為付費版,但這邊教學網則是用VARNISH+NGINX,可看到還沒開啟快取時,首頁需1.27s。

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍
Step25

開啟後只需93ms,有了VARNISH的快取主機後,網站的主機要放那就都沒差啦!

梅問題-自架VARNISH快取主機,讓WordPress載入速度快10倍



from 梅問題.教學網 https://www.minwt.com/website/server/17685.html

沒有留言:

張貼留言