squid作用 1正向代理 標準的代理緩衝伺服器,須在每一個內部主機的瀏覽器上明確指明代理伺服器的IP地址和埠號。 透明代理緩衝伺服器,代理操作對客戶端的瀏覽器是透明的(即不需指明代理伺服器的IP和埠)Iptables或者Ipchains實現 參考http://os.51cto.com/art/ ...
squid作用 1正向代理 標準的代理緩衝伺服器,須在每一個內部主機的瀏覽器上明確指明代理伺服器的IP地址和埠號。 透明代理緩衝伺服器,代理操作對客戶端的瀏覽器是透明的(即不需指明代理伺服器的IP和埠)Iptables或者Ipchains實現 參考http://os.51cto.com/art/201404/435129.htm 2.Squid對架構進行優化,緩存網站,提升web應用訪問性能 原理 當squid第一次接受到對特殊資源的請求時,squid經常從原始伺服器確認它。假如伺服器指示squid的拷貝仍然有效,數據就發送出去。否則,squid升級它的緩存拷貝,並且轉發給客戶。squid會清除緩存以釋放空間給新對象。 工作流程 當代理伺服器中有客戶端需要的數據時: a. 客戶端向代理伺服器發送數據請求; b. 代理伺服器檢查自己的數據緩存; c. 代理伺服器在緩存中找到了用戶想要的數據,取出數據; d. 代理伺服器將從緩存中取得的數據返回給客戶端。 當代理伺服器中沒有客戶端需要的數據時: 1. 客戶端向代理伺服器發送數據請求; 2. 代理伺服器檢查自己的數據緩存; 3. 代理伺服器在緩存中沒有找到用戶想要的數據; 4. 代理伺服器向Internet 上的遠端伺服器發送數據請求; 5. 遠端伺服器響應,返回相應的數據; 6. 代理伺服器取得遠端伺服器的數據,返回給客戶端,並保留一份到自己的數據緩存中 詳細參考:http://www.cnblogs.com/mchina/p/3812190.html 2.硬體對性能影響 記憶體和磁碟空間對性能有影響,記憶體短缺會嚴重影響性能。更多的磁碟空間意味著更多的緩存目標和更高的命中率。SCSI磁碟比ATA的執行性能好。基本規則是,每G磁碟空間需要32M記憶體。這樣,512M記憶體的系統,能支持16G的磁碟緩存 Web緩存典型的cache命中率在30%到60%之間 squid安裝 操作系統:centos6.5 squid版本:squid-3.1.23-24.el6.x86_64.rpm 3.1檢查當前是否安裝 rpm -qa squid 3.2 yum方式安裝 yum -y install squid 4.配置 4.1安裝後目錄結構 主程式: /usr/sbin/squid 腳本: /etc/init.d/squid 配置文件 /etc/squid/squid.conf 預設訪問日誌文件: /var/log/squid/access.log 4.2squid.conf文件配置 vi /etc/squid/squid.conf做如下配置 http_port 192.168.252.11:3164 #監聽埠(為了安全起見,在前面加上IP地址,Squid就不會監聽外部的網路介面) cache_dir ufs /var/spool/squid 100 16 256 //定義squid的cache存放路徑 cache目錄容量100M 一級緩存目錄16個,二級緩存目錄256個 --一定要在配置文件最下方增加下麵這條語句,否則squid無法啟動! visible_hostname localhost --配置部分ip地址可訪問 acl normal src 192.168.101.1-192.168.101.250/32 http_access allow normal #cache access_log /var/log/squid/access.log 設置訪問日誌文件 #cache store_log /var/log/squid/store.log 設置網頁緩存日誌文件 #cache effective user/group squid 5.啟動 --創建cache目錄 cd /usr/sbin/squid ./squid -z 2017/06/30 15:13:54| Creating Swap Directories 2017/06/30 15:13:54| /var/spool/squid exists 2017/06/30 15:13:54| Making directories in /var/spool/squid/00 2017/06/30 15:13:54| Making directories in /var/spool/squid/01 2017/06/30 15:13:54| Making directories in /var/spool/squid/02 2017/06/30 15:13:54| Making directories in /var/spool/squid/03 2017/06/30 15:13:54| Making directories in /var/spool/squid/04 2017/06/30 15:13:54| Making directories in /var/spool/squid/05 2017/06/30 15:13:54| Making directories in /var/spool/squid/06 2017/06/30 15:13:54| Making directories in /var/spool/squid/07 2017/06/30 15:13:54| Making directories in /var/spool/squid/08 2017/06/30 15:13:54| Making directories in /var/spool/squid/09 2017/06/30 15:13:54| Making directories in /var/spool/squid/0A 2017/06/30 15:13:54| Making directories in /var/spool/squid/0B 2017/06/30 15:13:54| Making directories in /var/spool/squid/0C 2017/06/30 15:13:54| Making directories in /var/spool/squid/0D 2017/06/30 15:13:54| Making directories in /var/spool/squid/0E 2017/06/30 15:13:54| Making directories in /var/spool/squid/0F iptables對應配置 如果是正常代理需要配置iptables的NAT表,對80埠的訪問轉發到squid埠 iptables -t nat -A PREROUTING -s 指定ip段 -p tcp --dport 80 -j REDIRECT --to-port 3164 如果是非透明代理需要開發squid的埠 iptables -A INPUT -s 指定ip段 -p tcp --dport 3164 -j ACCEPT iptables -A OUTPUT -p tcp --dport 3164 -j ACCEP