环境:Centos5.4 Squid3.0x
到http://www.squid-cache.org上下载最新的Squid3x稳定版本
1、准备Centos环境
groupadd squid
useradd -s /sbin/nologin -d /dev/null -g squid squid
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp
2、安装squid
./configure --prefix=/usr/squid /
--enable-debug-cbdata /
--enable-async-io=100 /
--with-pthreads /
--enable-storeio="aufs,diskd,ufs" /
--enable-removal-policies="heap,lru" /
--enable-icmp /
--enable-delay-pools /
--enable-useragent-log /
--enable-referer-log /
--enable-kill-parent-hack /
--enable-arp-acl /
--enable-default-err-language=Simplify_Chinese /
--enable-err-languages="Simplify_Chinese English" /
--disable-poll /
--disable-wccp /
--disable-wccpv2 /
--disable-ident-lookups /
--disable-internal-dns /
--enable-basic-auth-helpers="NCSA" /
--enable-stacktrace /
--with-large-files /
--disable-mempools /
--with-filedescriptors=65535 /
--enable-ssl /
--enable-x-accelerator-var
make
make install
3、配置squid
http_port 3128 accel vhost vport
#accel domain
cache_peer 127.0.0.1 parent 80 0 no-query originserver no-digest name=www
#cache_peer_domain www 192.168.56.2
#acl
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 3128
acl Safe_ports port 8080 3128
acl LanSrc src 192.168.56.0/24
acl LanDst dst 192.168.56.0/24
#acl LanDstDM dstdomain
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow LanSrc
http_access allow LanDst
#http_access allow LanDstDM
http_access deny all
#base
visible_hostname 192.168.56.2
cache_mgr cache@126.com
cache_effective_user squid
cache_effective_group squid
#error_directory /usr/squid/share/error/Simplify_Chinese
icon_directory /usr/squid/share/icons
mime_table /usr/squid/etc/mime.conf
cache_replacement_policy lru
#cache_dir
cache_dir aufs /tmp 32768 64 64
cache_mem 128 MB
max_open_disk_fds 0
maximum_object_size 20 MB
maximum_object_size_in_memory 8 MB
#keepalived
client_persistent_connections off
server_persistent_connections on
#persistent_request_timeout 60 seconds
#memory_pools on
#memory_pools_limit 64 MB
forwarded_for on
log_icp_queries off
via off
httpd_suppress_version_string off
ie_refresh off
tcp_recv_bufsize 32 KB
#acl webservices rep_header Server -i ^lzzWS ^Apache ^nginx
#broken_vary_encoding allow webservices
#hiddeen the squid header
#reply_header_access Server deny all
#reply_header_access X-Cache deny all
#reply_header_access Warning deny all
#reply_header_access Expires deny all
#reply_header_access Cache-Control deny all
#reply_header_access age deny all
#reply_header_access All deny all
ipcache_size 1024
ipcache_low 90
ipcache_high 95
memory_replacement_policy lru
hosts_file /etc/hosts
request_header_max_size 128 KB
#deny cache
hierarchy_stoplist cgi-bin ?/.PHP
acl QUERY urlpath_regex cgi-bin /?/.PHP
acl DIRECT url_regex -i ^http://192.168.56.2
cache deny QUERY
cache deny DIRECT
#request_body_max_size 0 KB
refresh_pattern ^ftp: 60 20% 10080
refresh_pattern ^gopher: 60 0% 1440
refresh_pattern ^gopher: 60 0% 1440
refresh_pattern . 0 20% 1440
refresh_pattern -i /.css$ 360 50% 2880 reload-into-ims
refresh_pattern -i /.JS$ 1440 50% 2880 reload-into-ims
refresh_pattern -i /.HTML$ 720 50% 1440 reload-into-ims
refresh_pattern -i /.jpg$ 1440 90% 2880 ignore-reload
refresh_pattern -i /.gif$ 1440 90% 2880 ignore-reload
refresh_pattern -i /.swf$ 1440 90% 2880 ignore-reload
refresh_pattern -i /.jpg$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.png$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.bmp$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.doc$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.ppt$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.xls$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.pdf$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.rar$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.zip$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.txt$ 1440 50% 2880 ignore-reload
quick_abort_min 20 KB
quick_abort_max 20 KB
quick_abort_pct 95
connect_timeout 1 minute
negative_ttl 0 minutes
read_timeout 30 seconds
pconn_timeout 120 seconds
shutdown_lifetime 5 seconds
strip_query_terms off
#snmp
#snmp_port 3401
#acl snmppublic snmp_orgmunity snsimg
#snmp_access allow snmppublic localhost
#snmp_access deny all
icp_port 0
# logfile
emulate_httpd_log on
#logformat combined %>h %ui %un [%tl] /"%rm %ru HTTP/%rv/" %Hs %<st /"%>h/" /"%>h/" %Ss:%Sh
#access_log none
#access_log /data/logs/access.log combined
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /usr/squid/log/access.log squid
#cache_store_log /var/log/squid3/store.log
cache_store_log /dev/null
cache_log /usr/squid/log/cache.log
logfile_rotate 12
# MISCELLANEOUS
store_objects_per_bucket 15
client_db off