Squid cache(簡稱為Squid)是一個流行的自由軟件,它符合GNU通用公共許可證。Squid作為網(wǎng)頁服務器的前置cache服務器,可以代理用戶向web服務器請求數(shù)據(jù)并進行緩存,也可以用在局域網(wǎng)中,使局域網(wǎng)用戶通過代理上網(wǎng)。Squid主要設計用于在Linux一類系統(tǒng)運行。
squid不僅可用在Linux系統(tǒng)上,還可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系統(tǒng)上。
Squid與Linux下其它的代理軟件如Apache、Socks、TIS FWTK和delegate相比,下載安裝簡單,配置簡單靈活,支持緩存和多種協(xié)議。用ipchains+Squid的解決方案,就可以獲得通過緩存高性能的同時能夠無縫的訪問Internet。
Squid是一個緩存internet數(shù)據(jù)的一個軟件,它接收用戶的下載申請,并自動處理所下載的數(shù)據(jù)。也就是說,當一個用戶想要下載一個主頁時,它向Squid發(fā)出一個申請,要Squid替它下載,然后Squid 連接所申請網(wǎng)站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份,當別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當快。
對于Web用戶來說,Squid是一個高性能的代理緩存服務器,可以加快內(nèi)部網(wǎng)瀏覽Internet的速度,提高客戶機的訪問命中率。Squid不僅支持HTTP協(xié)議,還支持FTP、gopher、SSL和WAIS等協(xié)議。和一般的代理緩存軟件不同,Squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶端請求。
Squid將數(shù)據(jù)元緩存在內(nèi)存中,同時也緩存DNS查尋的結果,除此之外,它還支持非模塊化的DNS查詢,對失敗的請求進行消極緩存。Squid支持SSL,支持訪問控制。由于使用了ICP,Squid能夠實現(xiàn)重疊的代理陣列,從而最大限度的節(jié)約帶寬。
Squid由一個主要的服務程序Squid,一個DNS查詢程序dnsserver,幾個重寫請求和執(zhí)行認證的程序,以及幾個管理工具組成。當Squid啟動以后,它可以派生出指定數(shù)目的dnsserver進程,而每一個dnsserver進程都可以執(zhí)行單獨的DNS查詢,這樣一來就大大減少了服務器等待DNS查詢的時間。
Squid的另一個優(yōu)越性在于它使用訪問控制清單(ACL)和訪問權限清單(ARL)。訪問控制清單和訪問權限清單通過阻止特定的網(wǎng)絡連接來減少潛在的Internet非法連接,可以使用這些清單來確保內(nèi)部網(wǎng)的主機無法訪問有威脅的或不適宜的站點。
Squid對硬件的要求是內(nèi)存一定要大,不應小于128M,硬盤轉速越快越好,最好使用服務器專用SCSI硬盤,處理器要求不高,400MH以上即可。
代理服務器原理
代理服務器接受到請求后,首先與訪問控制列表中的訪問規(guī)則相對照,如果滿足規(guī)則,則在緩存中查找是否存在需要的信息。
客戶端B向代理服務器提出相同的請求。代理服務器也首先與訪問控制列表中的訪問規(guī)則相對照。如果滿足規(guī)則,則將緩存中的信息傳送給客戶端B
以下是一些squid的基本配置參數(shù)解釋
http_port 3128 //設置監(jiān)聽的IP與端口號
cache_mem 64 MB //設置內(nèi)存緩沖的大小
cache_dir ufs /var/spool/squid 2000 16 256//設置硬盤緩沖大小
cache_effective_user squid //設置緩存的有效用戶
cache_effective_group squid //設置緩存的有效用戶組
dns_nameservers 192.168.0.254 //設置DNS服務器地址,一般可以不設置,默認使用服務器自己設置的dns
cache_access_log /var/log/squid/access.log //設置訪問日志文件
cache_log /var/log/squid/cache.log //設置緩存日志文件
visible_hostname 192.168.0.20 //設置squid主機名稱
以上全局參數(shù)根據(jù)你自己的需要修改
其實linux下的服務器配置文件最好就是squid,它對每個參數(shù)都有解釋,而且有很多很多的實例
Acl的訪問控制列表
語法:acl 列表名稱 列表類型 [-i] 列表值
列表名稱:用于區(qū)分Squid的各個訪問控制列表,任何兩個訪問控制列表不能用相同的列表名。雖然列表名稱可以隨便定義,但為了避免以后不知道這條列表是干什么用的,應盡量使用有意義的名稱,如badurl、clientip和work time等。
列表類型:是可被Squid識別的類別。Squid支持的控制類別很多,可以通過IP地址、主機名、MAC地址和用戶/密碼認證等識別用戶,也可以通過域名、域后綴、文件類型、IP地址、端口和URL匹配等控制用戶的訪問,還可以使用時間區(qū)間對用戶進行管理
-i選項:表示忽略列表值的大小寫,否則Squid是區(qū)分大小寫的。
列表值:針對不同的類型,列表值的內(nèi)容是不同的。例如,對于類型為src或dst,列表值的內(nèi)容是某臺主機的IP地址或子網(wǎng)地址;對于類型為time,列表值的內(nèi)容是時間;對于類型為srcdomain和dstdomain,列表值的內(nèi)容是DNS域名。
1、初始化你在 squid.conf 里配置的 cache 目錄
#/usr/sbin/squid -z //第一次啟動squid服務時必須輸入此命令
如果有錯誤提示,請檢查你的 cache目錄的權限。
2、對你的squid.conf 排錯,即驗證 squid.conf 的 語法和配置。
#/usr/sbin/squid -k parse
如果squid.conf 有語法或配置錯誤,這里會返回提示你,如果沒有返回,恭喜,可以嘗試啟動squid。
3、在前臺啟動squid,并輸出啟動過程。
#/usr/sbin/squid -N -d1
如果有到 ready to server reques,恭喜,啟動成功。
然后 ctrl + c,停止squid,并以后臺運行的方式啟動它。
4、啟動squid在后臺運行。
#/usr/sbin/squid -s
這時候可以 ps -A 來查看系統(tǒng)進程,可以看到倆個 squid 進程。
5、停止 squid
#/usr/sbin/squid -k shutdown
這個不用解釋吧。
6、重引導修改過的 squid.conf
#/usr/sbin/squid -k reconfigure
這個估計用的時候比較多,當你發(fā)現(xiàn)你的配置有不盡你意的時候,可以隨時修改squid.conf,然后別忘記對你的 squid.conf排錯,然后再執(zhí)行此指令,即可讓運行中squid重新按照你的squid.conf 來運行。
7、把squid添加到系統(tǒng)啟動項
編輯 /etc/rc.d/rc.local
添加如下行: /usr/local/squid/sbin/squid -s
當然,并不是每個人都喜歡這種啟動方式,你可以用你最習慣的方式;或者把它安裝為服務。
再來點其他的。
1、修改cache 緩存目錄的權限。
#chown -R squid:squid /home/cache
我的cache緩存目錄是 /home/cache,squid執(zhí)行用戶和用戶組是 squid,squid。
2、修改squid 日志目錄的權限
#chown -R squid:squid /usr/local/squid/var/logs
這一步并不是適合每一個使用squid的用戶.意為讓squid有權限在該目錄進行寫操作 。
例如生成 access.log cache.log store.log
3、查看你的日志文檔。
#more /usr/local/squid/var/logs,/access.log | grepTCP_MEM_HIT
該指令可以看到在squid運行過程中,有哪些文件被squid緩存到內(nèi)存中,并返回給訪問用戶。
#more /usr/local/squid/var/logs/access.log |grepTCP_HIT
該指令可以看到在squid運行過程中,有哪些文件被squid緩存到cache目錄中,并返回給訪問用戶。
#more /usr/local/squid/var/logs/access.log |grepTCP_MISS
該指令可以看到在squid運行過程中,有哪些文件沒有被squid緩存,而是現(xiàn)重原始服務器獲取并返回給訪問用戶。
關于 TCP_XXXX 等參數(shù)及代表的信息,請參看彭勇華《squid中文權威指南》13.2.1 章節(jié)。
當然,本例中的藍色文字是可以修改為其他的參數(shù),例如你的域名,同樣可以看到access.log里關于該域名的行。
4、squid -k rotate 輪換squid的日志文件/var/log/squid,Squid代理服務器日志文件
的增長速度是驚人的,很容易點球滿磁盤空間導致系統(tǒng)不能正常工作,甚至是死機.為了解決日志文件增長太快的問題,squid采用了"輪換"的方法.在squid.conf中可以通過logfile_rotate來設置文件輪換的個數(shù),如:
logfile_rotate 10 ,輪換的工作一般用crontab定時器完在周期性的日志輪換,例如每周六凌晨2:00進行日志輪換,則執(zhí)行如下命令: crontab -e
0 2 * * 6 squid -k rotate
小貼士:Squid默認的錯誤提示信息為英文,對于英文不好的用戶來說,實在不方便.在/etc/squid/squid.conf里添加如下:
error_directory /usr/share/squid/errors/Simplify_Chinese 即可顯示中文的錯誤提示。
格式:pdf
大?。?span id="0gavzjg" class="single-tag-height">221KB
頁數(shù): 5頁
評分: 4.4
為研究由中子-可見光圖像轉換屏、光學系統(tǒng)以及CCD相機組成的中子圖像探測器的成像性能,根據(jù)探測效率、量子增益和調(diào)制傳遞函數(shù)等性能評價參數(shù),分析了中子探測效率與閃爍體厚度的關系以及薄板型和陣列型閃爍體與CCD相機之間采用不同耦合方式下的量子增益,并給出了透鏡耦合條件下的調(diào)制傳遞函數(shù)及相應的量子探測效率,最后全面分析了中子圖像探測器的等效噪聲量子數(shù)。
格式:pdf
大?。?span id="oa5igre" class="single-tag-height">221KB
頁數(shù): 2頁
評分: 4.7
本文簡單介紹了半導體量子點材料的基本性質及相應的紅外探測器的工作原理,并舉例討論了幾種典型的量子點紅外探測器的結構。最后,對量子點紅外探測器的主要優(yōu)點進行了總結。