天天看點

Squid

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  #####檢視命中率

繼續閱讀