wget http://www.squid-cache.org/versions/v2/2.6/squid-2.6.stable6.tar.bz2
cd squid-2.6.stable6
./configure prefix=/usr/local/squid/ --with-maxfd=65536
make
make install
vi /usr/local/squid/etc/squid.conf
#########配置檔案開始##########
http_port 192.168.1.50:80 vhost vport
#xx.xx.xx.xx為這台伺服器的ip位址
icp_port 0
cache_mem 40 mb
#設定squid所能使用的記憶體共400mb,這個值因人而異
cache_swap_low 80
cache_swap_high 95
maximum_object_size 2000 kb
#最大緩存檔案大小,超過這個值則不緩存,這個值因人而異
maximum_object_size_in_memory 4096 kb
#裝入記憶體緩存的檔案大小,這個值對squid的性能影響比較大,因為預設值是8k,超過8k的檔案都不裝入記憶體,而實際應用中很多網頁和圖檔等都超過8kb, 個人認為如果緩存不裝入記憶體而存在磁盤上,性能和apache直接讀取磁盤檔案沒什麼差別,甚至不如直接通路apache,現在設定成小于4兆的檔案通通裝入記憶體緩存.
cache_dir ufs /tmp1 1000 16 256
#磁盤緩存的類型和目錄,大小,一二級目錄的設定,這裡磁盤緩存大小是1g
cache_store_log none
#這個設定是不記錄store.log
emulate_httpd_log on
#打開emulate_httpd_log選項,将使squid仿照aapche的日志格式
logformat combined %>a %ui %un [%tl] "%rm %ru http/%rv" %hs %<st "%{referer}>h" "%{user-agent}>h" %ss:%sh
#日志格式combined的設定
pid_filename /usr/local/squid/var/logs/squid.pid
cache_log /usr/local/squid/var/logs/cache.log
access_log /usr/local/squid/var/logs/access.log
#這裡是設定pid和日志檔案的位置,因人而異,同時日志格式是combined,awstats可以直接調用分析了
acl all src 0.0.0.0/0.0.0.0
acl query urlpath_regex cgi-bin .php .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe
cache deny query
#設定不想緩存的目錄或者檔案類型
http_access allow all #####允許全部類型通路
#acl picurl url_regex -i \.bmp$ \.png$ \.jpg$ \.gif$ \.jpeg$
#acl mystie1 referer_regex -i aaa
#http_access allow mystie1 picurl
#acl mystie2 referer_regex -i bbb
#http_access allow mystie2 picurl
#設定防圖檔盜鍊的,其中aaa,和bbb分别是虛拟主機的域名,referer中必須包含有aaa或者bbb的域名才能通路圖檔
#acl nullref referer_regex -i ^$
#http_access allow nullref
#acl hasref referer_regex -i .+
#http_access allow hasref picurl
#設定允許直接通路圖檔和拒絕referer中沒有包含aaa或着bbb的通路圖檔
cache_peer 192.168.1.10 parent 80 0 no-query originserver login=pass
#xx.xx.xx.xx還是本機伺服器的ip,81則是apache的端口,如果你的虛拟主機有使用者名和密碼保護起來的目錄必須設定login=pass,否則認證會失效
cache_effective_user squid
cache_effective_group squid
#squid使用的使用者組和使用者名
####配置檔案結束######
####首次運作squid要先建立緩存###
useradd squid
groupadd squid
mkdir /tmp1
chown squid.squid /tmp1
/usr/local/squid/sbin/squid -z
###啟動squid
#/usr/local/squid/sbin/squid
/usr/local/squid/sbin/squid -k shutdown ###停止squid
/usr/local/squid/sbin/squid -k reconfigure ###重新加載配置檔案
tail -5 /usr/local/squid/var/logs/access.log #####檢視命中率