Linux下利用Squid構(gòu)建高速的ProxyServ |
發(fā)布時(shí)間: 2012/8/11 11:04:10 |
一、什么是ProxyServer(代理服務(wù)器),Proxy的作用
在真實(shí)世界中我們常常會(huì)去幫人家辦一些事情,例如幫人家交電費(fèi)什么的,在這種情況下你不是電表的主人,而是代辦者(代理者)的身份。在網(wǎng)絡(luò)世界中Proxy就是相當(dāng)于那個(gè)幫人家交電費(fèi)的人了,當(dāng)我們發(fā)出連接請(qǐng)求的時(shí)候,就會(huì)通過(guò)Proxy去幫我們直接與目標(biāo)服務(wù)器溝通,幫我們?nèi)〉觅Y料。 client通過(guò)ProxyServer上網(wǎng)的步驟如下: ①client端向Server發(fā)出請(qǐng)求。 ②Server收到請(qǐng)求后比較判斷Cache中時(shí)候存在client想要的資料,如果沒(méi)有則向遠(yuǎn)程Server發(fā)送數(shù)據(jù)請(qǐng)求。 ③將請(qǐng)求回來(lái)的資料先存放到Cache中,再將資料傳送給client端。 ④當(dāng)client發(fā)出的請(qǐng)求中所需要的資料在Cache中有,則將Cache中的資料直接傳送給client端。 雖然當(dāng)?shù)谝辉L問(wèn)這向Proxy請(qǐng)求的數(shù)據(jù)Cache中沒(méi)有時(shí),Proxy抓取數(shù)據(jù)后會(huì)先保存在Cache中,這樣訪問(wèn)速度變慢了,可是第二個(gè)訪問(wèn)者以及后來(lái)的訪問(wèn)者需要該資料的時(shí)候,proxy都不要想遠(yuǎn)程服務(wù)器請(qǐng)求,直接將cache中的資料發(fā)送給后來(lái)的請(qǐng)求者就行了,這樣就減少了連接遠(yuǎn)程服務(wù)器的流量,另外由于proxy是在本地的,所以傳輸速度也更快。 二、使用Squid在構(gòu)建ProxyServer 本文中筆者所使用的環(huán)境是: 操作系統(tǒng):Redhat9.0,內(nèi)核:2.4.20-31.9,其他系統(tǒng)套件已經(jīng)通過(guò)apt更新到最新了。 1.編譯安裝Squid 由于Squid對(duì)系統(tǒng)硬件要求比較高,所以我們安裝的時(shí)候應(yīng)盡量?jī)?yōu)化。 CODE:#groupaddsquid#useraddsquid添加suqid用戶和用戶組 CODE:#exportCFLAGES=‘-O2-mcpu=pentium4-march=pentium4-mmmx-msse-msse2’ 可以根據(jù)你的CPU選擇相應(yīng)的參數(shù)GCC-3.1以上可針對(duì)CPU最佳化:
prefix=/usr/local/squid:指定軟件的安裝路徑enable-gnuregex:由于Squid大量使用字符串處理做各種判斷,加入此項(xiàng)能更好的處理。 enable-icmp:加入icmp支持。 enable-kill-parent-hack:關(guān)掉suqid的時(shí)候,要不要連同父進(jìn)程一起關(guān)掉,這個(gè)當(dāng)然要啦。 enable-snmp:此選項(xiàng)可以讓MRTG使用SNMP協(xié)議對(duì)服務(wù)器的流量狀態(tài)進(jìn)行監(jiān)測(cè),因此必須選擇此項(xiàng),使Squid支持SNMP接口。 disable-ident-lookups:防止系統(tǒng)使用RFC931規(guī)定的身份識(shí)別方法。 enable-cahce-digests:加快請(qǐng)求時(shí),檢索緩存內(nèi)容的速度。 enable-arp-acl:可以在規(guī)則設(shè)置中直接通過(guò)客戶端的MAC地址進(jìn)行管理,防止客戶使用IP欺騙。 enable-err-language="Simplify_Chinese"和enable-default-err-languages="Simplify_Chinese":指定出錯(cuò)是顯示的錯(cuò)誤頁(yè)面為簡(jiǎn)體中文 enable-poll:應(yīng)啟用Poll()函數(shù)而不是select()函數(shù),通常而言poll(輪詢)比select要好,但configure(腳本程序)已知Poll在某些平臺(tái)下失效,若你認(rèn)為你比configure編譯配置腳本程序要聰明的話,可以用這個(gè)選項(xiàng)啟用Poll。總之就是用這個(gè)可以提升性能就是啦。 enable-linux-netfilter:可以支持透明代理 enable-underscore:允許解析的URL中出現(xiàn)下劃先,因?yàn)槟J(rèn)squid會(huì)認(rèn)為帶下劃線的URL地址是非法的,并拒絕訪問(wèn)該地址。 這里我們就安裝好了,接下來(lái)就是修改配置文件了。 2.修改定義配置參數(shù) 下面是我的squid.conf文件
本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |