squid 的配置详解 (转)--SeriesI 收藏
?squid 的配置詳解 (轉)--SeriesI 收藏
?
使用過一段時間的SQUID代理,感覺雖然挺好用的單是過程還是挺曲折的,這個期間也在網絡到處搜索了很多關于SQUID的說明文檔,和教程。但是顯然的還是有那么幾個問題,(可能是我個人的問題^_^)
1.版本太少,看來看去就那么幾個版本所謂天下文章一大炒,當然這是排在GOOGLE前面的一些資料,也是最容易獲得的,也可以滿足一般的需要
2.就是要么基礎要么太難:看見過一篇難的講SQUID的源代碼(開發者之一)
?
直到我在圖書管發現了一篇算是講的很好的SQUID的文章,圖書館講SQUID的 書也看過不少的,但是覺得 講的還是略微的淺了。知道看見這篇若干年前的書,SQUID確實講的很好,好東西不敢獨吞,拿出來和大家共享。----<<LINUX網絡操作經典-高手究極篇>>
?
如果侵犯作者的版權(我的本意是學習交流的),請作者和我聯系,我將刪除之
PS:這確實是一本不錯的書,講的幾個東西,我個人覺得都還是不錯的。
?
SQUID應用程序文件:
/usr/sbin/squid
;守護進程主程序
/usr/sbin/client
;統計并顯示摘要表的內容
/usr/lib/squid/cachemgr.cgi ;可通過WEB查看SQUID運行時的CGI程序
/usr/lib/squid/dnsserver;輔助SQUID處理域名解析
?
SQUID默認的緩沖目錄結構并不重要,因為一般都重新規劃緩沖目錄,必須注意的是SQUID的記錄文件,這些記錄文件被默認放在了/var/log/squid目錄下面
/var/log/squid
|--access.log;記錄客戶端所有請求的記錄文件
|--store.log;存儲緩沖對象的狀態及記錄文件
|--cache.log;cache的啟動及各類狀態文件的記錄
?
(我個人比較喜歡分析第一個日志文件,每隔一個禮拜通過這個日志文件產生一個最受歡迎的網站)有興趣的朋友可以來信所要腳本文件
?
Squid傳統安裝的文件結構
用傳統的COMPILE方式按章Squid時,SQUID呈現如下的目錄結構
?
?
?
/usr/local/squid
|--bin;放置SQUID相關的可執行文件
|??? |--RunAccel ;放置SQUID可執行文件
|??? |__RunCache
|??? |--cachemgr.cgi;查看SQUID實時運行的程序
|??? |--Client;統計并顯示摘要表的內容
|??? |--dnsserver;輔助squid進行域名解析
|??? |--squid;squid demon 主程序
|??? ---unlinkd
|--etc ;放置SQUID相關配置文件
|??? |--errors
|??? |--icons
|??? |--mib.txt;SQUID-mib定義文件
|??? |--mime.conf;定義SQUID識別的MIME TYPE
|??? |--mime.conf.default;使用默認
|??? |--squid.conf;配置文件
|??? |--squid.conf.deault;使用默認
|--logs
|--access.log
|--store.log
|--cache.log
?
?
squid的初級配置
RMP格式的SQUID配置文件在/ETC/SQUID/SQUID.CONF文件里,一般來說,只要稍微調整幾個設置項目,并可以發揮出SQUID的強大效能。下面的修改都是對這個陪著文件所做一些調整。
?
1.http_port 命令
SQUID默認傳輸端口是3128可以通過配置項目http_port來定義,例如如果要將端口配置為8080,那么可以這樣來配置
Http_port 8080
2.icp_port命令
SQUID默認與其他的SQUID proxy通訊的端口是3130,如果你要對默認的端口做修改,那么可以如下配置
icp_port 3200
3.cache_peer命令
如果要設置父級的代理服務器,例如proxy.test.edu.cn那么可以這樣配置
在#cache_peer hostname type 3128 3130 之下加入
cache_peer proxy.test.edu.cn parent 3128 3130 no-query no-netdb-exchange
?
如果要設置同級的代理服務器,如:192.168.1.41 192.168.1.42則可以這樣來配置
cache_peer 192.168.1.41 sibling 3128 3130 proxy-only
....
注意目前各單位施行代理服務器分級管理,設置父級代理服務器,還必須取得上層單位的同意
?
說明:
(1)命令cache_peer的定義格式是:
cache_peer hostname type 3128 3130
hostname 是用來指定獲取緩沖的PROXY主機的名字
type 是PROXY主機的類型,有以上PARENT SIBLING兩種
3128:HTTP_PORT
3130:ICP_PORT
?
(2)附加配置選項(注意應為小寫,配置時)
NO-QUERY:不做查詢操作,直接獲取數據
NO-NETDB-EXCHANGE:代理服務器之間不交互信息
NO-DIGEST:代理服務器之間不做摘要表查詢,直接用ICP協議溝通(同級代理)
PROXY-ONLY:直接獲取對方緩沖,轉交給代理服務器的客戶端,而不存入本地
ROUND-ROBIN:如果設置數部上層服務器,那么輪流查詢父級服務器
LOGIN=USER:PASSWD:要求對方做帳號及密碼驗證,例如
cache_peer 192.168.1.41 sibling 3128 3130 login=kao:123456
?
4 cache_mem命令
SQUID默認運行本代理服務器的高速緩存內存空間為8MB,而默認存放緩沖數據的內存空間是100MB,當然這可能無法滿足您的要求,為了加快您的服務器處理速率,可以修改這些配置,例如
cache_mem 92mb
?
說明:
(1)cache_mem后使用的內存數值,默認是以BYTE為單位,例如64kb=65536,也可以使用KB,MB,GB為單位
(2)cache_mem后設置的內存大小,應該約為實際內存的1/3
(3)如果本機只做代理服務器,則CACHE_MEM可以提升到本機內存的1/2-3/4
?
5 cache_dir命令
修改玩CACHE_MEM定義后,接著用cache_dir命令重新定義緩沖區目錄位置,及緩沖目錄的大小,用法如下:
#cache_dir type directory-name mBytes level-1 leverl2
在#ufs/var/spool/squid 100 16256之下加入如下的配置
?
?cache_dir ufs /cache1 2048 128 256
?
說明:
(1)UFS欄:設置緩沖存儲的系統類型,這是2.3版本以后才有的新參數,緩沖類型有UFS,ASYNCUFS兩種,一般都是用ufs,asyncufs用于異步的IO傳輸,在LINUX 或者SOLARIS系統上使用ASYNCUFS選項相當危險。
(2)/CACHE1欄:設置緩沖的目錄的路徑
(3)2048欄:設置緩沖的空間大小默認單位是MB
(4)128欄:第一層的緩沖目錄數,默認是16
(5)256欄:第二層的緩沖目錄數,默認是256,即每一個一層的緩沖的目錄下面有256個緩沖目錄
?
SQUID的默認緩沖空間在/VAR/SPOOL/SQUID目錄下,如果想增加緩沖目錄,請先參考這一節規劃緩沖目錄,再設置如下
?
cache_dir ufs /cache1 4096 64 128
cache_dir ufs /cache2 4096 64 128
cache_dir ufs /cache3 4096 64 128
cache_dir ufs /cache4 4096 64 128
?
注意:
如果只有一塊硬盤,最好分割一到數塊獨立的分區來做緩沖空間,如果有兩個硬盤,那么每一塊最好都分割數塊分區來做緩沖空間,這樣可以提高SQUID的存取效率
?
SQUID的大致配置如此,不過不同的版本可能有所差異,另外為了 拒絕客戶端存取代理服務器的默認值為拒絕獲取緩沖數據,應該要加入:
#http_access deny all;關閉拒絕獲取CACHE數據
?
詳細的存取控制方法,參考下面的章節
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zinking3/archive/2007/06/08/1644611.aspx
轉載于:https://blog.51cto.com/cw000/562524
總結
以上是生活随笔為你收集整理的squid 的配置详解 (转)--SeriesI 收藏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql的tmp_table_size
- 下一篇: 策略模式的扩展——策略枚举