伺服器軟體squid

2021-06-17 17:58:01 字數 4808 閱讀 6688

squid cache(簡稱為squid)是乙個流行的自由軟體(gnu通用公共許可證)的**伺服器和web快取伺服器。squid有廣泛的用途,從作為網頁伺服器的前置cache伺服器快取相關請求來提高web伺服器的速度,到為一組人共享網路資源而快取全球資訊網,網域名稱系統和其他網路搜尋,到通過過濾流量幫助網路安全,到區域網通過**上網。squid主要設計用於在linux一類系統執行。

[1]

squid是一種在

linux系統下使用的優秀的

**伺服器軟體。

squid不僅可用在linux系統上,還可以用在

aix、digital unix、

freebsd、

hp-ux、

irix、

netbsd、

nextstep、

sco和

solaris等系統上。

squid與linux下其它的**軟體如

apache、

socks、tis fwtk和

快取和多種協議。用ipchains+squid的解決方案,就可以獲得通過

快取高效能的同時能夠無縫的訪問internet。

[2]對於web使用者來說,squid是乙個高效能的**

快取伺服器,可以加快內部網瀏覽internet的速度,提高客戶機的訪問命中率。squid不僅支援

http協議,還支援

ftp、

gopher、

ssl和

wais等協議。和一般的

**快取軟體不同,squid用乙個單獨的、非模組化的、i/o驅動的程序來處理所有的客戶端請求。

squid將資料元快取在記憶體中,同時也快取

dns查尋的結果,除此之外,它還支援非模組化的dns查詢,對失敗的請求進行消極快取。squid支援ssl,支援

訪問控制。由於使用了icp,squid能夠實現重疊的**陣列,從而最大限度的節約頻寬。

squid由乙個主要的服務程式squid,乙個dns查詢程式

dnsserver,幾個重寫請求和執行認證的程式,以及幾個管理工具組成。當squid啟動以後,它可以派生出指定數目的

dnsserver程序,而每乙個dnsserver程序都可以執行單獨的dns查詢,這樣一來就大大減少了伺服器等待dns查詢的時間。

squid的另乙個優越性在於它使用

訪問控制清單(acl)和訪問許可權清單(arl)。訪問控制清單和訪問許可權清單通過阻止特定的網路連線來減少潛在的internet非法連線,可以使用這些清單來確保內部網的主機無法訪問有威脅的或不適宜的站點。

squid對硬體的要求是記憶體一定要大,不應小於128m,

硬碟轉速越快越好,最好使用伺服器專用

scsi硬碟,處理器要求不高,400mh以上既可。

squid是linux下的乙個

**伺服器原理

**伺服器接受到請求後,首先與

訪問控制列表中的訪問規則相對照,如果滿足規則,則在

快取中查詢是否存在需要的資訊。

客戶端b向

**伺服器提出相同的請求。

**伺服器也首先與

訪問控制列表中的訪問規則相對照。如果滿足規則,則將快取中的資訊傳送給客戶端b

訪問控制清單和訪問許可權清單通過阻止特定的網路連線來減少潛在的internet非法連線,可以使用這些清單來確保內部網的主機無法訪問有威脅的或不適宜的站點。

以下是一些squid的基本配置引數解釋

http_port 3128 //設定監聽的ip與埠號

cache_mem 64 mb //設定記憶體緩衝的大小

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主機名稱

以上全域性引數根據你自己的需要修改

其實 linux下的伺服器配置檔案最好就是squid,它對每個引數都有解釋,而且有很多很多的例項

acl的訪問控制列表

語法:acl 列表名稱 列表型別 [-i] 列表值

列表名稱:用於區分squid的各個

訪問控制列表,任何兩個訪問控制列表不能用相同的列表名。雖然列表名稱可以隨便定義,但為了避免以後不知道這條列表是幹什麼用的,應盡量使用有意義的名稱,如badurl、clientip和work time等。

主機名、mac位址和使用者/密碼認證等識別使用者,也可以通過網域名稱、域字尾、檔案型別、ip位址、埠和url匹配等控制使用者的訪問,還可以使用時間區間對使用者進行管理

-i選項:表示忽略列表值的大小寫,否則squid是區分大小寫的。

列表值:針對不同的型別,列表值的內容是不同的。例如,對於型別為src或dst,列表值的內容是某台主機的ip位址或子網位址;對於型別為time,列表值的內容是時間;對於型別為srcdomain和dstdomain,列表值的內容是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 來檢視系統程序,可以看到倆個 squid 程序。

5、停止 squid

#/usr/sbin/squid -k shutdown

這個不用解釋吧。

6、重引導修改過的 squid.conf

#/usr/sbin/squid -k reconfigure

這個估計用的時候比較多,當你發現你的配置有不盡你意的時候,可以隨時修改squid.conf,然後別忘記對你的 squid.conf排錯,然後再執行此指令,即可讓執行中squid重新按照你的squid.conf 來執行。

7、把squid新增到系統啟動項

編輯 /etc/rc.d/rc.local

新增如下行: /usr/local/squid/sbin/squid -s

再來點其他的。

1、修改cache 快取目錄的許可權。

#chown -r squid:squid /home/cache

我的cache快取目錄是 /home/cache,squid執行使用者和使用者組是 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 | grep tcp_mem_hit

該指令可以看到在squid執行過程中,有哪些檔案被squid快取到記憶體中,並返回給訪問使用者。

#more /usr/local/squid/var/logs/access.log | grep tcp_hit

該指令可以看到在squid執行過程中,有哪些檔案被squid快取到cache目錄中,並返回給訪問使用者。

#more /usr/local/squid/var/logs/access.log | grep tcp_miss

該指令可以看到在squid執行過程中,有哪些檔案沒有被squid快取,而是現重原始伺服器獲取並返回給訪問使用者。

關於 tcp_***x 等引數及代表的資訊,請參看彭勇華《squid中文權威指南》13.2.1 章節。

當然,本例中的藍色文字是可以修改為其他的引數,例如你的網域名稱,同樣可以看到access.log裡關於該網域名稱的行。

4、squid -k rotate 輪換squid的日誌檔案/var/log/squid,squid**伺服器日誌檔案

的增長速度是驚人的,很容易點球滿磁碟空間導致系統不能正常工作,甚至是宕機.為了解決日誌檔案增長太快的問題,squid採用了"輪換"的方法.在squid.conf中可以通過logfile_rotate來設定檔案輪換的個數,如:

logfile_rotate 10 ,輪換的工作一般用crontab定時器完在週期性的日誌輪換,例如每週六凌晨2:00進行日誌輪換,則執行如下命令: crontab -e

0 2 * * 6 squid -k rotate

小貼士:squid預設的錯誤提示資訊為英文,對於英文不好的使用者來說,實在不方便.在/etc/squid/squid.conf裡新增如下:

error_directory /usr/share/squid/errors/simplify_chinese 即可顯示中文的錯誤提示。

squid 伺服器配置

1.安裝squid 解壓到window的 c盤。進入squid etc 將squid.conf.default mime.conf.default cachemgr.conf.default 命名為 squid.conf mime.conf cachemgr.conf 進入squid sbin 下執...

squid 伺服器的認識與搭建

squid是乙個高效能的 快取伺服器,squid支援ftp gopher和http協議。和一般的 快取軟體不同,squid用乙個單獨的 非模組化的 i o驅動的程序來處理所有的客戶端請求。squid將資料元快取在記憶體中,同時也快取dns查詢的結果,除此之外,它還支援非模組化的dns查詢,對失敗的請...

伺服器 軟體

1.伺服器介紹 tbd2.伺服器分類 tbd3.常用的伺服器 web server 說明 apache 參見 後續補充 4.應用場景 tbd5.額外補充 tbd6.參考 apache官網 nginx官網 tomcat apache 官網 nginx為什麼比apache httpd高效 原理篇 apa...