您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“如何使用Squid”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
1.Squid 簡(jiǎn)介
Squid 是一個(gè)緩存internet數(shù)據(jù)的一個(gè)軟件,它接收用戶的下載申請(qǐng),并自動(dòng)處理所下載的數(shù)據(jù)。也就是說,當(dāng)一個(gè)用戶象要下載一個(gè)主頁時(shí),它向Squid 發(fā)出一個(gè)申請(qǐng),要Squid 替它下載,然后Squid連接所申請(qǐng)網(wǎng)站并請(qǐng)求該主頁,接著把該主頁傳給用戶同時(shí)保留一個(gè)備份,當(dāng)別的用戶申請(qǐng)同樣的頁面時(shí),Squid 把保存的備份立即傳給用戶,使用戶覺得速度相當(dāng)快。目前,Squid 可以代理HTTP, FTP, GOPHER, SSL 和 WAIS 協(xié)議,暫不能代理POP, NNTP等協(xié)議。不過,已經(jīng)有人開始修改Squid,相信不久的將來,Squid能夠代理這些協(xié)議。
Squid能夠緩存任何數(shù)據(jù)嗎?不是的。象緩存信用卡帳號(hào)、可以遠(yuǎn)方執(zhí)行的scripts、經(jīng)常變換的主頁等是不合適的也是不安全的。Squid可以自動(dòng)的進(jìn)行處理,你也可以根據(jù)自己的需要設(shè)置Squid,使之過濾掉你不想要的東西。
Squid可以工作在很多的操作系統(tǒng)中,如AIX, Digital Unix, FreeBSD, HP-UX, Irix, Linux, NetBSD, Nextstep, SCO, Solaris,OS/2等,也有不少人在其他操作系統(tǒng)中重新編譯過Squid。
Squid對(duì)硬件的要求是內(nèi)存一定要大,不應(yīng)小于128M,硬盤轉(zhuǎn)速越快越好,最好使用服務(wù)器專用SCSI硬盤,處理器要求不高,400MH以上既可。
2. Squid的編譯和運(yùn)行
其實(shí)現(xiàn)在的Linux發(fā)行套件中基本都有已經(jīng)編譯好的Squid,你所作的就是安裝它既可。如果你手頭沒有現(xiàn)成的編譯好的Squid或想使用最新的版本,去ftp:squid.nlanr.net下載一份,自己編譯。
Squid的編譯是非常簡(jiǎn)單的,因?yàn)樗旧鲜亲约号渲米约?。最容易出現(xiàn)的問題是你的系統(tǒng)上沒有合適的編譯器,這可以通過安裝相應(yīng)的編譯器解決。如果出現(xiàn)其他問題,你可以問一下有經(jīng)驗(yàn)的用戶或到相應(yīng)的郵件列表尋找?guī)椭?/p>
編譯Squid之前,最好建一個(gè)專門運(yùn)行Squid的用戶和組。我就在自己的服務(wù)器上建了一個(gè)名為squid的用戶和組,用戶目錄設(shè)為/usr/local/squid。然后su為用戶squid并從squid.nlanr.net下載Squid的源文件到目錄 /usr/local/squid/src中,用如下命令進(jìn)行解壓:
?。ar xzf squid-2.0.RELEASE-src.tar.gz
%cd /usr/local/squid/src/ squid-*.*.RELEASE /
?。?/configure
%make
%make install
第一個(gè)命令在目錄/usr/local/squid/src中產(chǎn)生一個(gè)新的子目錄/squid-*.*.RELEASE/。命令./configure會(huì)自動(dòng)查詢你的系統(tǒng)配置情況以及你系統(tǒng)中使用的頭文件。不加參數(shù)的./configure會(huì)把Squid安裝在目錄/usr/local/squid中,如果你想使用其他目錄,用如下命令./configure --prefix=/some/other/directory,這會(huì)把Squid安裝在目錄/some/other/directory中。make命令編譯Squid,make install命令安裝Squid。
不出意外的話,目錄/usr/local/squid中會(huì)出現(xiàn)如下目錄:
/bin
/cache
/etc
/logs/
/src (自己創(chuàng)建的)
目錄/bin中含有Squid可執(zhí)行程序,包括Squid本身,ftpget等。
目錄/cache包含Squid緩存的數(shù)據(jù),其中包含象/00/ /01/ /02/ 以及/03/這樣的目錄,這些目錄中還有子目錄,因?yàn)槟夸浂嗔吮仍谝粋€(gè)目錄成千上萬的文件中尋找一個(gè)文件更容易,速度更快。
目錄/etc中包含Squid的唯一的配置文件squid.conf。
目錄/logs中包含Squid的日志。
3. squid.conf文件的配置
在安裝Squid后,在目錄/usr/local/squid /etc中會(huì)自動(dòng)產(chǎn)生一個(gè)樣本squid.conf文件,文件中對(duì)每一個(gè)選項(xiàng)都有詳細(xì)的說明,用戶可以通過修改該文件以滿足不同的需要。
總的來說,有如下幾個(gè)重要選項(xiàng):
?http_port:設(shè)定Squid****的端口,你最好設(shè)一個(gè)比較好記的端口號(hào),以便在進(jìn)行客戶機(jī)配置時(shí)容易記住。我的機(jī)器上端口號(hào)設(shè)的是8080。缺省為3128。
?。縞ache_mem:設(shè)定Squid占用的物理內(nèi)存,根據(jù)我的經(jīng)驗(yàn),cache_mem的大小不應(yīng)超過你的服務(wù)器物理內(nèi)存的三分之一,否則將會(huì)影響機(jī)器的總體性能。
?maximum_object_size:設(shè)定Squid可以接收的最大對(duì)象的大小。Squid缺省值為4M,我自己入認(rèn)為太大,你可以根據(jù)自己的需要進(jìn)行設(shè)定。
?cache_dir:設(shè)定緩存的位置、大小。一般看起來形式如下“cache_dir /usr/local/squid/cache 100 16 256”。 /usr/local/squid/cache代表緩存的位置;100代表緩存最大為100M;16和256代表一級(jí)和二級(jí)目錄數(shù)。
?cache_effective_user:設(shè)定使用緩存的有效用戶。缺省為用戶nobody,如果你的系統(tǒng)中沒有用戶nobody,最好建一個(gè)或以非root用戶運(yùn)行Squid。
下面我給出一個(gè)最簡(jiǎn)單的squid.conf文件:
#squid.conf - a very basic config file for squid
#Turn logging to its lowest level
debug_options ALL,1
#defines a group (or Access Control List) that includes all IP addresses
acl all src 0.0.0.0/0.0.0.0
#define RAM used
cache_mem 32M
#defines the cache size
cache_dir /usr/local/squid/cache 100 16 256
#allow all sites to use connect to us via HTTP
http_access allow all
#allow all sites to use us as a sibling
icp_access allow all
#test the following sites to check that we are connected
dns_testnames internic.net usc.edu cs.colorado.edu mit.edu yale.edu
#run as the squid user
cache_effective_user squid squid
這個(gè)配置文件允許所有人使用Squid,創(chuàng)建了100M緩存,使用32M內(nèi)存,在缺省位置"/usr/local/squid/cache"緩存數(shù)據(jù),所有緩存數(shù)據(jù)以組squid和用戶squid身份保存,端口為3128。雖然這個(gè)配置很不安全,但是它已經(jīng)能使用了。
4. 運(yùn)行Squid
首先以root身份登陸。運(yùn)行如下命令:
?。?usr/local/squid/bin/squid ?z
該命令會(huì)產(chǎn)生Squid所有的緩存目錄。
如果你想前臺(tái)執(zhí)行Squid,接著執(zhí)行命令:
%/usr/local/squid/bin/squid -NCd1
該命令正式啟動(dòng)Squid。如果一切正常,你會(huì)看到一行輸出
Ready to serve requests.
如果想后臺(tái)運(yùn)行Squid,把它做為一個(gè)精靈進(jìn)程,執(zhí)行命令:
?。?usr/local/squid/bin/squid
觀察Squid是否運(yùn)行使用命令:
% squid -k check
輸出會(huì)告訴你Squid的當(dāng)前狀態(tài)。
“如何使用Squid”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。