用DNSPod和Squid打造自己的CDN (八) 測試并運行SQUID
1.前期準備
想要測試SQUID是否正常,必須要先把www.naizhao.com這個域名解析到2.2.2.2這個IP上。跟上一章一樣,如果你是網(wǎng)通用戶就不需要做任何操作,DNSPod會給你返回2.2.2.2這個IP。如果你是電信用戶,或者解析出來的IP不是2.2.2.2,那么就要修改系統(tǒng)的hosts表,對應記錄添加進去。跟上一章不一樣,上一章修改的是SQUID服務器的hosts表,你現(xiàn)在需要修改的是你用來測試SQUID的系統(tǒng)的hosts表。
除了修改hosts表外,我們還需要一個名為curl的小工具。一般的Linux/Unix系統(tǒng)都附帶了這個工具,如果使用Windows,那么需要到下面的地址下載一個,并且放到D:(或者其他地方,自己喜歡)。
http://curl.haxx.se/latest.cgi?curl=win32-nossl(32位系統(tǒng))
http://curl.haxx.se/latest.cgi?curl=win64-nossl(64位系統(tǒng))
下載回來解壓后,我們只需要一個curl.exe。
2.運行SQUID
我們繼續(xù)用上一章的方法,用調(diào)試方式啟動SQUID
cd /usr/local/SQUID/sbin
./SQUID -Nd 1
然后打開瀏覽器,輸入http://www.naizhao.com,看輸出的網(wǎng)頁是否正確。
如果能顯示出正常的頁面,那么說明SQUID已經(jīng)正常運行了。但我們還需要確認一下,所需要的頁面是否已經(jīng)被SQUID緩存了。
3.測試SQUID
我們使用curl,輸入下面的命令(Windows用戶請使用命令行來運行curl)
curl -I http://www.naizhao.com/
HTTP/1.0 200 OK
Date: Sun, 08 Jul 2007 12:16:27 GMT
Server: NaiZhao Web Server/1.0.0
Last-Modified: Wed, 13 Dec 2006 06:11:14 GMT
ETag: "7665b-1983-4417e480"
Accept-Ranges: bytes
Content-Length: 6531
Vary: Accept-Encoding
Content-Type: text/css
Age: 29155
X-Cache: MISS from cnc.naizhao.com
Via: 1.0 cnc.naizhao.com:80 (SQUID/2.6.STABLE13)
Connection: close
我們留意輸出的內(nèi)容,下面一行內(nèi)容表示并沒有命中緩存。也就是并不是從緩存中讀取所需文件。一般第一次訪問一個文件的時候,出現(xiàn)MISS是正常的,因為本來文件就不存在于緩存中。
X-Cache: MISS from cnc.naizhao.com
然后,我們重新運行一次命令,繼續(xù)看輸出的內(nèi)容
curl -I http://www.naizhao.com/
HTTP/1.0 200 OK
Date: Sun, 08 Jul 2007 12:16:27 GMT
Server: NaiZhao Web Server/1.0.0
Last-Modified: Wed, 13 Dec 2006 06:11:14 GMT
ETag: "7665b-1983-4417e480"
Accept-Ranges: bytes
Content-Length: 6531
Vary: Accept-Encoding
Content-Type: text/css
Age: 29155
X-Cache: HIT from cnc.naizhao.com
Via: 1.0 cnc.naizhao.com:80 (SQUID/2.6.STABLE13)
Connection: close
可以看到,這次的輸出已經(jīng)是HIT了。也就是表示,內(nèi)容是從緩存中讀取的。
如果第二次訪問仍然是MISS,那么你就要檢查下網(wǎng)頁是否限制了緩存??梢詮南旅鎺讉€方面入手:
Last-Modified: Wed, 13 Dec 2006 06:11:14 GMT 檢查這行是否每次訪問都變化。如果一直變化,說明頁面是動態(tài)的,并不合適SQUID緩存。SQUID在每次請求的時候都會檢查這行,判斷頁面是否已經(jīng)過期,并且對過期的頁面重新獲取。
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 這行是負責控制緩存。no-store、no-cache、must-revalidate等都是要求SQUID禁止緩存內(nèi)容,并且在每次請求的時候都去驗證頁面是否過期。
Expires: Thu, 19 Nov 1981 08:52:00 GMT 過期時間如果大于當前時間,也會被認為是頁面已經(jīng)過期,需要重新獲取。這樣的頁面也不會被緩存。
Pragma: no-cache 這句也是禁止緩存。
大家可以按照上面的內(nèi)容進行自查自糾,根據(jù)實際需求對網(wǎng)站進行修改即可。
確認沒有問題后,我們就可以讓SQUID正式跑起來了。
4.正式運行SQUID
ulimit -Hs 65536
ulimit -n 65536
./SQUID
直接使用上面的命令就可以讓SQUID跑起來了。
跑起來后,輸入http://www.naizhao.com看看訪問是否正常。
5.讓SQUID跟隨系統(tǒng)啟動
CentOS讓SQUID跟隨系統(tǒng)啟動很簡單,只需要編輯/etc/rc.local,在最后加上下面內(nèi)容即可
ulimit -Hs 65536
ulimit -n 65536
/usr/local/SQUID/sbin/SQUID
相關文章
詳解虛擬機中CentOS 7 網(wǎng)絡和ssh的配置
這篇文章主要介紹了詳解虛擬機中CentOS 7 網(wǎng)絡和ssh的配置,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03centos7 安裝mysql和mysqlclient遇到的坑總結(jié)
這篇文章主要介紹了centos7 安裝mysql和mysqlclient遇到的坑以及相關知識點代碼,有需要的朋友們參考下。2019-08-08Linux內(nèi)核設備驅(qū)動之內(nèi)核的調(diào)試技術筆記整理
今天小編就為大家分享一篇關于Linux內(nèi)核設備驅(qū)動之內(nèi)核的調(diào)試技術筆記整理,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12