Chinaunix首页 | 论坛 | 博客
  • 博客访问: 263420
  • 博文数量: 30
  • 博客积分: 380
  • 博客等级: 一等列兵
  • 技术积分: 477
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-30 21:28
文章分类

全部博文(30)

文章存档

2014年(2)

2013年(13)

2012年(15)

分类: 系统运维

2012-12-05 17:39:53

http_port 8080 vhost vport  #侦听端口 表示根据请求主机头来转发到后端WEB机器 虚拟主机支持 多port支持
icp_port 0                  #
提供从相邻的squid查询端口,如果不提供该服务,将端口改为0
cache_mem 4096 MB           #
额外使用内存量,原则:如果服务器只做代理应设置值应为真实内存的1/2

如果还做其它服务,设置值最好不要超过真实内存的1/3
cache_swap_low 90          
      
cache_swap_high 95          #当磁盘使用量到限制时,自动删最冷的磁盘文件。

maximum_object_size 10 MB   #
单个文件最大缓存大小,超过这个大小将不缓存
minimum_object_size 300 bytes
maximum_object_size_in_memory 1024 KB #
在内存中缓存的最大文件的大小,超过这个大小将不缓存到内存中
negative_ttl 1 second       #
缓存错误页面时间,如不缓存可以设置成0
ipcache_size 10240          #DNS
正反解所得到的IP存在缓存区的大小,这样可以加快解析速度

fqdncache_size 10240        #DNS
正反解所得到的域名存在缓存区的大小,这样可以加快解析速度
cache_dir diskd /data/squid/cache 50000 64 128  #
指定cache在硬盘上存放的路径,最大存储50G64个一

级目录,128个二级目录
logformat abc-squid %ts.%03tu %6tr %>a %Ss/%03Hs % "%{Referer}>h" "%{User-Agent}>h"   #
日志格式
cache_access_log /data/squid/logs/access.log abc-squid #
访问日志文件
cache_log /data/squid/logs/cache.log     #squid
缓存日志文件
cache_store_log none                     #
缓存日志文件禁用(主要是头信息)
strip_query_terms off                    #
记录url”?”后面的内容
check_hostnames off                      #
关闭检查主机名
dns_children 30                          #
指定本地默认启动DNS查询进程数
dns_testnames localhost                  #
指定自己的主机名
cache_mgr               #
管理员联系方式
visible_hostname ts_iscache01.abc.org  #
可见主机名
cache_effective_user squid               #squid
对应系统管理用户
cache_effective_group squid
memory_pools off                         #
内存池设置为关闭
memory_pools_limit none                  #
设置内存池关闭
read_ahead_gap 20 KB                     #当从其他服务器取数据的时候,先发给客户端这样一个大小的检验。

store_avg_object_size 6 KB               #
平均存储对象大小,所有文件大小/文件数量在3-6KB之间
store_objects_per_bucket 256             #
每个objects,存储对象都会有一个hash表,降低或者增加这个

,也能改善store的效率
log_icp_queries off                      #
关闭日志记录ICP事物(默认记录了http等)
#refresh
防止客户端一直刷新造成cache回源确认,对此设置了缓存时间。间接的控制磁盘缓存,宽松的设置增

加了cache的命中率,同样也增加了用户接受过时相应的几率; 保守的设置,降低了cache的命中率和过时响应


#override-expire
:该选项导致squid在检查Expires头部之前,先检查min值。这样,一个非零的min时间让

squid返回一个未确认的cache命中,即使该响应准备过期。
refresh_pattern -i . 180 50% 360 override-expire
override-lastmod reload-into-ims ignore-reload ignore-no-cache
refresh_pattern -i
. 180 50% 360 override-expire override-lastmod
reload-into-ims ignore-reload ignore-no-cache
refresh_pattern -i
. 180 50% 360 override-expire override-

lastmod
reload-into-ims ignore-reload ignore-no-cache
refresh_pattern -i
. 180 50% 360 override-expire override-

lastmod
reload-into-ims ignore-reload ignore-no-cache
refresh_pattern -i
. 180 50% 360 override-expire
override-lastmod reload-into-ims ignore-reload ignore-no-cache
refresh_pattern -i .*.(jpg|jpeg|gif|png|bmp|swf) 180 50% 360 ignore-reload
refresh_pattern -i .*.(flv|wmv|mp3|mp4|avi|rm) 180 50% 360 ignore-reload
refresh_pattern -i . 180 50% 360 override-expire override-lastmod reload-into-ims
ignore-reload ignore-no-cache
#
控制squid是否继续传输被用户中断的请求,当用户中断请求时,squid把检测 quick_abort 的值。如果剩余部

分小于“quick_abort_min”指定的值,squid 把继续完成剩余部分的传输;如果剩余部分大于

“quick_abort_max”指定的值,squid 把终止剩余部分的传输;如果已完成“quick_abort_pct”指定的百分比

squid把继续完成剩余部分的传输。
quick_abort_min -1 KB  #
表示检索始终进行
quick_abort_max -1 KB
quick_abort_pct 1  #
如果已完成“quick_abort_pct”指定的百分比,squid把继续完成剩余部分的传输

read_timeout 5 minutes  #如果在指定的时间内 squid 尚未从被请求的服务器读入任何数据,则 squid 将终

止该客户请求。
request_timeout 5 minutes #
设置在建立与客户的连接后, squid 将花多长时间等待客户发出 HTTP 请求
client_lifetime 180 minute #
客户在与 squid 建立连接后,可以将该连接保持多长时间,需要修改小点。
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl ControlCentre src 116.213.141.64/255.255.255.224
acl IP dstdom_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
http_access deny IP
acl STBSTATE url_regex -i ^\.is\.abc\.com:8080/yst-epg/stb-state!getStbState\.action*
acl BILL url_regex -i ^\.is\.abc\.com:8080/yst-epg/charge-billing!bill\.action*
acl PAY url_regex -i ^\.is\.abc\.com:8080/yst-epg/charge-pay!pay\.action*
acl GETPROGRAM url_regex -i
^\.is\.abc\.com:8080/yst-epg/stb-state!getProgramState\.action*
#
不缓存以上内容
cache deny STBSTATE
cache deny BILL
cache deny PAY
cache deny GETPROGRAM
#hierarchy_stoplist cgi-bin ?
#acl QUERY urlpath_regex cgi-bin \?
#cache deny QUERY
acl DYNTYPE urlpath_regex -i cgi-bin \.asp \.php \.cgi \.pl \.py \.aspx\.ts \.rar \.exe \.gz
\.tar .\zip .\do .\jsp
cache deny DYNTYPE
acl PURGE method PURGE
http_access allow PURGE localhost
http_access allow PURGE ControlCentre
#
创建一个headerACL列表,使可以对header进行调整。被denyheader会被删除
header_access Via deny all
header_access X-Forwarded-For deny all
header_access header allow all
http_access allow all
acl ISIMAGES dstdomain images.is.abc.com
acl ISEPG dstdomain epg.is.abc.com
acl PANEL dstdomain panel.is.abc.com
acl ISPOMS dstdomain poms.is.abc.com
cache_peer images.is.abc.com parent 80 0 no-query no-netdb-exchange originserver
cache_peer_access images.is.abc.com allow ISIMAGES
cache_peer epg.is.abc.com parent 8080 0 no-query no-netdb-exchange originserver
cache_peer_access epg.is.abc.com allow ISEPG
cache_peer panel.is.abc.com parent 8080 0 no-query no-netdb-exchange originserver
cache_peer_access panel.is.abc.com allow PANEL
cache_peer poms.is.abc.com parent 8080 0 no-query no-netdb-exchange originserver
cache_peer_access poms.is.abc.com allow ISPOMS
#
设定不同域名转发到不同的cache_peer,如果没有这项.不同的域名可能被分发到同一台服务
器(或同一台服务器的端口)上.

#name=a表示给cache_peer一个别名

阅读(2634) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~