緩存服務Squid簡介

1. Squid是什么椭蹄?

Squid是一個高性能的代理緩存服務器杨何,Squid支持FTP、gopher和HTTP協(xié)議哩陕。和一般的代理緩存軟件不同平项,Squid用一個單獨的赫舒、非模塊化的、I/O驅動的進程來處理所有的客戶端請求闽瓢。
Squid可運行在大多數(shù)Unix和OS/2版本的系統(tǒng)之上接癌,已知的可工作的有:Windows,AIX,Digital Unix扣讼,F(xiàn)reeBSD缺猛,HP-UX,Irix椭符,Linux荔燎,NetBSD,Nextstep销钝,SCO有咨,Solaris

初始版本 1996年7月
穩(wěn)定版本 3.5.27(2017年8月19日,?8天前)
預覽版本 4.0.21(2017年7月2日曙搬,?56天前)

2. 主要功能

  • 緩存網(wǎng)站內容,以達到分擔源站壓力加快訪問速度的目的鸽嫂。
    • 熱點緩存纵装,只緩存訪問熱度到達設定級別的網(wǎng)站內容。
    • 合并回源据某,多個相同的請求只回源一次橡娄。
  • ACL訪問控制,可針對源IP癣籽、目的地IP挽唉、域名、URL筷狼、訪問時間瓶籽、單一最大連接數(shù)限制訪問行為」〔模或通過外部程序驗證訪問者(proxy_auth)塑顺。
  • 主要支持協(xié)議:HTTP、HTTPS俏险、FTP
  • 網(wǎng)頁內容篡改严拒,可根據(jù)需求篡改網(wǎng)站內容。
  • 網(wǎng)站頭部篡改竖独,可根據(jù)需求篡改請求頭部裤唠。
  • 可針對不同的域名或url配置不同的緩存規(guī)則。

3. 應用場景

  • 正向代理(本地網(wǎng)關)
    • 正向代理的典型用途是為在防火墻內的局域網(wǎng)客戶端提供訪問Internet的途徑莹痢。
    • 正向代理還可以使用緩存特性減少網(wǎng)絡使用率种蘸。
    • 正向代理允許客戶端通過它訪問任意網(wǎng)站并且隱藏客戶端自身墓赴,因此你必須采取安全措施以確保僅為經(jīng)過授權的客戶端提供服務。
  • 透明代理(cdn劈彪,架設于網(wǎng)絡運營商主干機房)
    • 提高各個地區(qū)訪問者的訪問速度竣蹦。
    • 減少源站壓力。
    • 減少網(wǎng)絡運營商的網(wǎng)間結算費用沧奴。
    • 節(jié)省網(wǎng)絡運營商帶寬資源痘括。
  • 反向代理(網(wǎng)站前端)
    • 降低源站服務器的負載。
    • 隱藏源站真實ip滔吠。

4. 緩存狀態(tài)日志

  • TCP_HIT
    Squid發(fā)現(xiàn)請求資源的貌似新鮮的拷貝纲菌,并將其立即發(fā)送到客戶端。

  • TCP_MISS
    Squid沒有請求資源的cache拷貝疮绷。

  • TCP_REFERSH_HIT(squid3.0改為TCP_REFRESH_UNMODIFIED)
    Squid發(fā)現(xiàn)請求資源的貌似陳舊的拷貝翰舌,并發(fā)送確認請求到原始服務器。原始服務器返回304(未修改)響應冬骚,指示squid的拷貝仍舊是新鮮的椅贱。

  • TCP_REF_FAIL_HIT
    Squid發(fā)現(xiàn)請求資源的貌似陳舊的拷貝,并發(fā)送確認請求到原始服務器只冻。然而庇麦,原始服務器響應失敗,或者返回的響應Squid不能理解喜德。在此情形下山橄,squid發(fā)送現(xiàn)有cache拷貝(很可能是陳舊的)到客戶端。

  • TCP_REFRESH_MISS(squid3.0改為TCP_REFRESH_MODIFIED)
    Squid發(fā)現(xiàn)請求資源的貌似陳舊的拷貝舍悯,并發(fā)送確認請求到原始服務器航棱。原始服務器響應新的內容,指示這個cache拷貝確實是陳舊的萌衬。

  • TCP_CLIENT_REFRESH_MISS
    Squid發(fā)現(xiàn)了請求資源的拷貝饮醇,但客戶端的請求包含了Cache-Control: no-cache指令。Squid轉發(fā)客戶端的請求到原始服務器秕豫,強迫cache確認驳阎。

  • TCP_IMS_HIT
    客戶端發(fā)送確認請求,Squid發(fā)現(xiàn)更近來的馁蒂、貌似新鮮的請求資源的拷貝呵晚。Squid發(fā)送更新的內容到客戶端,而不聯(lián)系原始服務器沫屡。

  • TCP_SWAPFAIL_MISS
    Squid發(fā)現(xiàn)請求資源的有效拷貝饵隙,但從磁盤裝載它失敗。這時squid發(fā)送請求到原始服務器沮脖,就如同這是個cache丟失一樣金矛。

  • TCP_NEGATIVE_HIT
    在對原始服務器的請求導致HTTP錯誤時芯急,Squid也會cache這個響應。在短時間內對這些資源的重復請求驶俊,導致了否命中娶耍。negative_ttl 指令控制這些錯誤被cache的時間數(shù)量。請注意這些錯誤只在內存cache饼酿,不會寫往磁盤榕酒。下列HTTP狀態(tài)碼可能導致否定cache(也遵循于其他約束): 204, 305, 400, 403, 404, 405, 414, 500, 501, 502, 503, 504。

  • TCP_MEM_HIT
    Squid在內存cache里發(fā)現(xiàn)請求資源的有效拷貝故俐,并將其立即發(fā)送到客戶端想鹰。注意這點并非精確的呈現(xiàn)了所有從內存服務的響應。例如药版,某些cache在內存里辑舷,但要求確認的響應,會以TCP_REFRESH_HIT, TCP_REFRESH_MISS等形式記錄槽片。

  • TCP_DENIED
    因為http_access或http_reply_access規(guī)則何缓,客戶端的請求被拒絕了。注意被http_access拒絕的請求在第9域的值是NONE/-还栓,然而被http_reply_access拒絕的請求碌廓,在相應地方有一個有效值。

  • TCP_OFFLINE_HIT
    當offline_mode激活時蝙云,Squid對任何cache響應返回cache命中氓皱,而不用考慮它的新鮮程度路召。

  • TCP_REDIRECT
    重定向程序告訴Squid產生一個HTTP重定向到新的URI(見11.1節(jié))勃刨。正常的,Squid不會記錄這些重定向股淡。假如要這樣做身隐,必須在編譯squid前,手工定義LOG_TCP_REDIRECTS預處理指令唯灵。

  • NONE
    無分類的結果用于特定錯誤贾铝,例如無效主機名。

  • UDP_HIT
    Squid在cache里發(fā)現(xiàn)請求資源的貌似新鮮的拷貝埠帕。

  • UDP_MISS
    Squid沒有在cache里發(fā)現(xiàn)請求資源的貌似新鮮的拷貝垢揩。假如同一目標通過HTTP請求,就可能是個cache丟失敛瓷。請對比UDP_MISS_NOFETCH叁巨。

  • UDP_MISS_NOFETCH
    跟UDP_MISS類似,不同的是這里也指示了Squid不愿去處理相應的HTTP請求呐籽。假如使用了-Y命令行選項锋勺,Squid在啟動并編譯其內存索引時蚀瘸,會返回這個標簽而不是UDP_MISS。

  • UDP_DENIED
    因為icp_access規(guī)則庶橱,ICP查詢被拒絕贮勃。假如超過95%的到某客戶端的ICP響應是UDP_DENIED,并且客戶端數(shù)據(jù)庫激活了(見附錄A)苏章,Squid在1小時內寂嘉,停止發(fā)送任何ICP響應到該客戶端。若這點發(fā)生布近,你也可在cache.log里見到一個警告垫释。

  • UDP_INVALID
    Squid接受到無效查詢(例如截斷的消息、無效協(xié)議版本撑瞧、URI里的空格等)棵譬。Squid發(fā)送UDP_INVALID響應到客戶端。


5. squidclient是什么预伺?

squidclient是提供用于檢索URL的命令行工具订咸。 專為測試任何HTTP 0.9,1.0或1.1 Web服務器或代理而設計。 該工具可以與腳本組合酬诀,以執(zhí)行任何基本的HTTP操作脏嚷。 提供了一些用于訪問squid代理對象緩存和管理信息的附加功能。

6. 安裝aquidclient

  • 在Debian或Ubuntu下 #apt-get install squidclient
  • 在Redhat或Centos下yum install squidclient

7.常用squidclient命令

squidclient -h              #查看幫助
squidclient -p 80 mgr:info      #取得squid運行狀態(tài)信息
squidclient -p 80 mgr:mem     #取得squid內存使用情況
squidclient -p 80 mgr:objects   #取得squid已經(jīng)緩存的列表(謹慎使用瞒御,量大時容易崩潰)
squidclient -p 80 mgr:diskd  #取得squid的磁盤使用情況
squidclient -p 80 -m PURGE http://www.php-oa.com/static.php  #強制更新某個url
squidclient -p 80 mgr:io        #取得squid io情況
squidclient -p 80 mgr:ipcache       #查看squid緩存的dns解析記錄
squidclient -p 80 mgr:info|grep Aver    #查看端口連接數(shù)
squidclient http://www.baidu.com/100.html   #測試訪問
squidclient -p 80 mgr:traffic       #查看流量
squidclient -p 80 mgr:404           #取5分鐘內404錯誤請求的個數(shù)
squidclient -p 80 mgr:status        #取5分鐘內各種返回碼的個數(shù)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末父叙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肴裙,更是在濱河造成了極大的恐慌趾唱,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜻懦,死亡現(xiàn)場離奇詭異甜癞,居然都是意外死亡,警方通過查閱死者的電腦和手機宛乃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門悠咱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人征炼,你說我怎么就攤上這事析既。” “怎么了谆奥?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵眼坏,是天一觀的道長。 經(jīng)常有香客問我雄右,道長空骚,這世上最難降的妖魔是什么纺讲? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮囤屹,結果婚禮上熬甚,老公的妹妹穿的比我還像新娘。我一直安慰自己肋坚,他們只是感情好乡括,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著智厌,像睡著了一般诲泌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铣鹏,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天敷扫,我揣著相機與錄音,去河邊找鬼诚卸。 笑死葵第,一個胖子當著我的面吹牛,可吹牛的內容都是我干的合溺。 我是一名探鬼主播卒密,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼棠赛!你這毒婦竟也來了哮奇?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤睛约,失蹤者是張志新(化名)和其女友劉穎鼎俘,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痰腮,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡而芥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年律罢,在試婚紗的時候發(fā)現(xiàn)自己被綠了膀值。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡误辑,死狀恐怖沧踏,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情巾钉,我是刑警寧澤翘狱,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站砰苍,受9級特大地震影響潦匈,放射性物質發(fā)生泄漏阱高。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一茬缩、第九天 我趴在偏房一處隱蔽的房頂上張望赤惊。 院中可真熱鬧,春花似錦凰锡、人聲如沸未舟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裕膀。三九已至,卻和暖如春勇哗,著一層夾襖步出監(jiān)牢的瞬間昼扛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工欲诺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留野揪,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓瞧栗,卻偏偏與公主長得像斯稳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子迹恐,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容

  • 一挣惰、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,373評論 6 152
  • Http協(xié)議詳解 標簽(空格分隔): Linux 聲明:本片文章非原創(chuàng),內容來源于博客園作者MIN飛翔的HTTP協(xié)...
    Sivin閱讀 5,226評論 3 82
  • HTTP概述 超文本傳輸協(xié)議(HTTP殴边,HyperText Transfer Protocol) 是互聯(lián)網(wǎng)上應用最...
    曹淵說創(chuàng)業(yè)閱讀 3,855評論 2 61
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理憎茂,服務發(fā)現(xiàn),斷路器锤岸,智...
    卡卡羅2017閱讀 134,707評論 18 139
  • 一竖幔、概述 自定義View如果嵌套了自定義View,可能簡單寫一個onTouchEvent處理事件已經(jīng)不能解決你的需...
    Mr云臺閱讀 1,113評論 4 4