一、說明
隨著網站訪問量的不斷攀升,網站的負荷也不斷上升,資料庫負荷變化尤其明顯,特別是在訪問的高峰期,使用者瀏覽器頁面顯示很緩慢,長時間連一個文本頁面都顯示不出來,最差的情況是網站直接崩潰,嚴重的影響了使用者的體驗,降低了網站的粘性。這個時候,是一定要考慮搭建web緩衝伺服器的時候了。
我們選擇的是一款 Fikker 網站加速產品作為參考樣本。根據官方的介紹,Fikker 是一款完全基於高速記憶體的緩衝加速產品,無快取檔案產生,支援跨平台(windows和linux),在 V3.2.4 之前還沒有看到提供對 freeBSD 作業系統的支援,我們使用它的免費版本做為樣本。搭建web快取服務器的目的:除了降低網站伺服器的負荷和加快頁面顯示外,還可以隱藏來源站點,進行流量統計和即時監控,甚至是防盜鏈等等,最重要的是整個過程不需要修改已有網站程式的源碼,全介面化的web緩衝配置操作。
二、準備階段
這個階段我們先到 Fikker 的官方網站下載它,我們下載和使用的是 CentOS Linux 版本,不管是 Linux 還是 Windows 版本,整個安裝和配置過程非常類似。我們將下載後的安裝包 fikkerd-3.2.4-linux-x86.tar.gz 放在 /home/meng 下面,通過命令列進行解壓:
tar zxvf fikkerd-3.2.4-linux-x86.tar.gz
三、設定階段
1、根據 Fikker 安裝說明,到了這個階段,我們可以進行相關的配置了,目前 Apache 已經在佔用 80 連接埠,為了安全起見,我們先測試後實施,我們現將 Fikker 的預設連接埠 80 改成 8080,這樣子我們就可先將 Fikker 配置和測試完成後,再讓其投入實際服務當中去,不會對原有的網站有任何影響。首先修改 config 目錄下面的 fikkerd.ini 設定檔(命令列為:vi fikkerd.ini),如下:
修改完成配置後儲存並退出編輯(裡面的中文注釋顯示是亂碼,支援 gbk 字元編碼的終端顯示才正常)。
2、啟動 Fikker 伺服器處理序,命令列:
sudo ./fikkerd.sh start
看到 OK 的提示為啟動完整。
3、我使用了 centOS 下面內建的 FireFox 瀏覽器登入和配置,通過瀏覽器遠程配置,操作過程完全相同。登入地址:http://127.0.0.1:6780/fikker/ 。
4、主機管理配置,Fikker 充當了一個Proxy 伺服器的作用,瀏覽器先訪問到 Fikker,接著 Fikker 訪問來源站點並獲得頁面後,Fikker 將頁面返回給瀏覽器,就是通過這個 HTTP 代理的過程,Fikker 達到了web頁面緩衝的目的。主機管理配置舉例:
5、頁面緩衝配置,就是指定要緩衝的頁面 URL 和緩衝周期,然後 Fikker 就會按照這個周期更新和緩衝對應的頁面。例如,我們要緩衝目錄 www.baidu.com/pics/ 下面所有 jpg 圖片,我們可以使用萬用字元 www.baidu.com/pics/*.jpg 來匹配了。也可以使用複雜一些的Regex規則來匹配。參照下面的樣本,可根據樣本添加其它要緩衝的web頁面:
四、最後階段
通過上面的配置,一切就緒,我們將修改 Apache 的連接埠和 Fikker 的連接埠,然後將 web快取服務器 運行起來。
1、將 Apache 中的 httpd.conf 中的連接埠從 Listen 80 修改成 8080 。
2、將 Fikker 中的 fikkerd.ini 中的連接埠從 proxy_port 8080 修改成 80 。
3、重新啟動 Apache 伺服器處理序。
4、重新啟動 Fikker 伺服器處理序,命令為: sudo ./fikkerd.sh restart 。
通過瀏覽器訪問一下網站,測試一下是否可正常訪問,那麼一切可以了,如果不行的話可嘗試修改 【主機管理】看是否主機和來源站點配置是否正確。關於 Fikker 其它的配置,例如:頁面緩衝,防盜鏈,黑名單等可以在 Fikker 運營中不斷最佳化和添加配置,配置完成後即時生效,不用重新啟動 Fikker 進程了,不斷學習和參照線上協助系統(和相關使用協助),將網站最佳化加速到最佳狀態。稍微簡單的學習幾個最最常用的Regex可真是太有用了,真的可讓你的網站緩衝加速到飛起來。