用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表,對應(yīng)記錄添加進去。跟上一章不一樣,上一章修改的是SQUID服務(wù)器的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
相關(guān)文章
Apache Iceberg 底層數(shù)據(jù)查詢原理解析
Apache Iceberg是一個開源表格格式,用于大型分析數(shù)據(jù)集,本文主要介紹了如何通過快照、Manifest文件和元數(shù)據(jù)文件查詢Iceberg表的數(shù)據(jù),通過解析元數(shù)據(jù)文件獲取當前表的快照ID,進而讀取對應(yīng)的Avro文件和Manifest文件中的Parquet數(shù)據(jù)文件,感興趣的朋友一起看看吧2024-09-09
Apache虛擬目錄配置及vue-cli反向代理的設(shè)置方法
本篇文章主要介紹了Apache虛擬目錄配置及vue-cli反向代理的設(shè)置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
Linux實現(xiàn)修改只讀文件(以設(shè)置自動連網(wǎng)為例)
這篇文章主要介紹了Linux實現(xiàn)修改只讀文件(以設(shè)置自動連網(wǎng)為例),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
VirtualBox下Centos6.8網(wǎng)絡(luò)配置教程
這篇文章主要為大家詳細介紹了VirtualBox下Centos6.8網(wǎng)絡(luò)配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Linux虛擬機中node.js之開發(fā)環(huán)境搭建
這篇文章主要介紹了Linux虛擬機中node.js之開發(fā)環(huán)境搭建,有需要的朋友可以了解一下。2016-11-11
Centos8下django項目部署 nginx+uwsgi的教程
這篇文章主要介紹了Centos8下django項目部署 nginx+uwsgi的教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
Ubuntu/Debian 自有軟件包構(gòu)建私有源詳解
這篇文章主要介紹了Ubuntu/Debian 自有軟件包構(gòu)建私有源詳解的相關(guān)資料,這里介紹詳細步驟,需要的朋友可以參考下2016-11-11

