squid配置参数的一些解释_第1页
squid配置参数的一些解释_第2页
squid配置参数的一些解释_第3页
squid配置参数的一些解释_第4页
squid配置参数的一些解释_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

squid配置参数的一些解释2010-09-1410:43:14标签:squid参数解释http_port3128#一般squid仅对80端口的HTTP月艮务加速。使用http_port指令让squid侦听在该端口:http_port80假如想让squid既作cache代理,又作加速器,那么列出这2个端口,但是所有指定的端口都必须在一条命令行上:http_port80http_port3128logfile_rotate3#周期性的滚动日志文件,以阻止它们变得太大。为了合理控制磁盘空间消耗,在cron里使用如下命令:%squid-krotate例如,如下任务接口在每天的早上 4点滚动日志:04***/usr/local/squid/sbin/squid-krotate工作过程:该命令做两件事。首先,它关闭当前打开的日志文件。然后,通过在文件名后加数字扩展名,它重命名cache.log,store.log,和access.log。例如,cache.log变成cache.log.0,cache.log.0变成cache.log.1,如此继续,滚动到logfile_rotate选项指定的值。cache_mem1024MB指定squid可以使用的内存理想值,建议设为内存的 1/3.#此参数并非指定进程的最大值,它只是设定一个 squid能够用于多少额外的内存来缓存对象的限制值,squid在其他方面也需要使用内存。read-onlyread-only选项指示Squid继续从cache_dir读取文件,但不往里面写新目标。他在squid.conf文件里看起来如下:cache_dirufs/cache0700016256read-only如果你想把cache文件从一个磁盘迁移到另一个磁盘,那么可使用该选项。如果你简单的增加一个cache_dir,并且删除另一个,squid的命中率会显著下降。在旧目录是read-only时,你仍能从那里获取cache命中。在一段时间后,就能从设置文件里删除read-only缓存目录。max-size使用该选项,你能指定存储在cache目录里的最大目标大小。例如:cache_dirufs/cache0700016256max-size=1048576注意值是以字节为单位的。在大多数情况下,你不必增加该选项。如果你做了,请尽力将所有cache_dir行以max-size大小顺序来存放(从小到大)。#cache_swap_low和cache_swap_high指令控制了存储在磁盘上的对象的置换。它们的值是最大cache体积的百分比,这个最大cache体积来自于所有cache_dir大小的总和。例如:cache_swap_low90cache_swap_high95如果总共磁盘使用低于cache_swap_low,squid不会删除cache目标。如果cache体积增加,squid会逐渐删除目标。在稳定状态下,你发现磁盘使用总是相对接近cache_swap_low值。你可以通过请求cache管理器的storedir页面来查看当前磁盘使用状况请注意,改变cache_swap_high也许不会对squid的磁盘使用有太大效果。在squid的早期版本里,该参数有重要作用;然而现在,它不是这样了。如果不想squid缓存任何文件,如某些空间有限的专有系统,可以使用null文件系统(这样不需要哪些缓存策略)Cache_dirnull/tmpcache_varyon(默认on表示可以缓存静态文件)aclapacherep_headerServer^Apachebroken_vary_encodingallowapachecache_replacement_policyheapGDSFmemory_replacement_policyheapGDSF#cache的替换策略,对于小文件比较多的缓存服务器,采用 GDSF容易获得比较好的命中率,特别是内存命中率.minimum_object_size0KBmaximum_object_size6MB大于该值得对象将不被存储。如果要提高访问速度,就降低该值 ;如果想最大限度的节约带宽,降低成本,就增加该值。maximum_object_size_in_memory1024KB设置较小的maximum_object_size_in_memory值有助于有效控希9squid过度占用内存cache_diraufs/opt/squid/cache40001632cache_diraufs/opt/squid/cachedir/cache0140001632cache_log/opt/squid/var/logs/cache.log#cache_dir指令是squid.conf配置文件里最重要的指令之一。 它告诉squid以何种方式存储cache文件到磁盘的什么位置。cache_dir指令取如下参数:#缓存目录的设置,可以设置多个缓存目录,语法为:<cache_dir><aufs|ufs><目录所在>vMBytes大小><dir1><dir2>cache_diraufs/opt/squid/cachedir/cache0140001632 表示其中4000该目录下使用的缓冲值为4000MB16是cache01下子目录数量32是cache01下子目录的下一级目录的数量strip_query_termsoff#该指令是另一个隐私保护功能。在记录请求前,Squid删除了查询条件。假如日志文件不幸落入坏人之手,他们不会找到任何用户名和密码。当该指令激活时,在问号(?)之后的所有字节被删除。例如,某个URl如下:http://auto.search.msn.com/response.asp?MT=.yw&srch=3&prov=&utf8会被记录为:http://auto.search.msn.com/response.asp?aclnologurlpath_regex-i\.dllemulate_httpd」ogonlogformatcombined%>a%ui%un[%tl]"%rm%ruHTTP/%rv"%Hs%<st"%{Referer}>h""%{User-Agent}>h"%Ss:%Sh!nolog#所有日志格式按照apache标准格式输出,并且不记录nolog定义的访问日志eg:12--[23/Oct/2008:00:00:24+0800]"GEThttp://images.zhaopin.com/new4/images/nub/1.gif HTTP/1.0"3040"/beijing/?DYWE=1224581170741.435762.1224638441.1224644873.3""Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR2.0.50727;.NETCLR3.0.04506.30)"TCP_IMS_HIT:NONE要记录源IP地址:logformatcombined%{X-Forwarded-For1}>h%>a%ui%un[%tl]"%rm%ruHTTP/%rv"%Hs%<st"%{Referer}>h""%{User-Agent}>h"%Ss:%Sh日志即为:7514--[14/Dec/2009:09...同理:aclnologurlpath_regex-i\.css\.js\.swfcache_access_log/opt/squid/var/logs/access.logcombined!nologaccess_log/opt/squid/var/logs/newaccess.log !nolog上面记录的日志中就不包含\.css\.js\.swf 类型的访问日志注:即ache格式串变量的含义:%...a:远程IP地址%...A:本地IP地址%...B:已发送的字节数,不包含HTTP头%...b:CLF格式的已发送字节数量,不包含 HTTP头。例如当没有发送数据时,写入’-'而不是0。%...{FOOBAR}e:环境变量FOOBA的内容%...f: 文件名字%...h:远程主机%...H请求的协议%...{Foobar}i:Foobar 的内容,发送给服务器的请求的标头行。%...l: 远程登录名字(来自identd,如提供的话)%...m请求的方法%...{Foobar}n: 来自另外一个模块的注解“Foobar”的内容%...{Foobar}o:Foobar 的内容,应答的标头行%...p:服务器响应请求时使用的端口%...P:响应请求的子进程ID。%...q查询字符串(如果存在查询字符串,则包含“ ?”后面的部分;否则,它是一个空字符串。)%...r: 请求的第一行%...s:状态。对于进行内部重定向的请求,这是指*原来*请求的状态。如果用%...s,则是指后来的请求。%...t: 以公共日志时间格式表示的时间(或称为标准英文格式)%...{format}t: 以指定格式format表示的时间%...T:为响应请求而耗费的时间,以秒计%...u:远程用户(来自auth;如果返回状态(%s是401则可能是伪造的)%...U:用户所请求的URL路径%...v:响应请求的服务器的ServerName%...V:依照UseCanonicalName设置得到的服务器名字cache_store_lognone#跟其他日志文件一样,Squid将最新的日志条目写到该文件的末尾。某个给定的URI可能出现在日志文件里多次。例如,它先被cache,然后删除,接着又cache住。仅仅最近来的日志条目才反映目标的当前值。Log_fqdn:如Client有domainname的话,access」og便会把domainname完整的记录下来。否则只记录IP地址,由于开启之后,squid需要访问DNS来解析客户的域名,会加重服务器负载,导致性能下降。ftp_user:假如需要使用anonymousftp来获取档案,会送出后面所接的字串当password。Dns_children:Squid本身附有一个dnsserver程序来处理Client端domainname的需求,一般来说,当proxy有较大的使用量时,dnschildren设定较多可以处理的domainnamerequest较多也较快,但当设定过多的dnsserver对系统的performance也会有相当的影响,可使用cachemanger来观看每个dnsserver的使用量决定数量的多少。reference_age:物件的LRU若比值大的话便清除cache中的物件。例如设定一星期,如一星期内没有存取动作,就把物件从cache中移出,假如值为零的话,物件会存放于cache中直到cacheswap上限。Read_time:当proxy与web连接后,经过read_time的时间接收不到web站传送资料便断线,有可能是remoteserver或是网络连接突然性的中断等因素。Shutdown_lifetime:当cacheserver收到SIGTERMK是SIGHUP寸,squid会对使用端发出"shutdownpending"讯息,并关掉所有正在进行中的动作,直到squid重新启动。Err_html_text:使用者浏览网页中,常常遇到不存在或连线中断的网站,squid本身会回应一个errormessage至用户端,squid管理者可使用这个参数来改变回应至用户端的errormessage,来连接至管理者的homepage。Deny_html_text:若遇到accesscontrolfail的情况,回应一个accessfailmessagesquid本身提供一个简单的message可利用此功能连接至homepageipcache_size1024#ip对应cache的大小为1024ipcache_low95ipcache_high95fqdncache_size1024域名全称cache的大小为1024(默认1024)#禁止缓存hierarchy_stoplistcgi-bin?hierarchy_stoplist-iAhttps:\\?aclQUERYurlpath_regex-icgi-bin\?\.asp\.php\.jsp\.cgiacldenysslurlpath_regex-iAhttps:\\no_cachedenyQUERYno_cachedenydenyssl#上面几个就是说遇到URL中有包含cgi-bin和以 开头的都不要缓存,#还有asp、cgi、php等动态脚本也不要缓存,#因为这些脚本通常都是动态更新的,这样数据不同步。#还有https://开通的不缓存是因为一般我们进行电子商务交易,#例如银行付款等都是采用这个的,如果把信用卡号什么缓存那不是很危险。例子:aclLocaldst/24cachedenyLocal目的地址为255 所有地址的文件不写入缓存aclHTMLurl_regex.html$cachedenyHTML拒绝将后缀名为HTM啲写入缓存aclXYZZYurl_regexahttp://www.L/foo.html$cachedenyXYZZY拒绝某个网站的缓存aclMorningtime08:00-11:00cachedenyMorning上午八点至^一点拒绝写入缓存ACL的基本格式如下:acl<acl><acl名称><acl类型><配置的内容>或:acl列表名称 控制方式控制目标Eg:列表ip地址从至V0的所有计算机Acladvance-0/32*需要注意的是:squid将使用allow-deny-allow-deny,..这样的顺序套用规则例如,当一个用户访问代理服务器时,squid会顺序测试squid中定义的所有规则都不匹配时,squid会使用与最后一条相反的规则aclcache_objecturlpath_regex-i\.jpg$\.png$\.htm\.html\.gif$\.swf$no_cachedeny!cache_object(不缓存以上未定义到格式的文件)aclbmsDomaindstdomain.no_cachedenybmsDomain(不缓存.下的所有文件)不缓存200,404等错误页面aclbadhttphttp_status200301500-400-403http_accessdenybadhttp匹配包含数字的用户名aclNumberInNnameident_regex[0-9]允许对代理认证用户名使用正则表达式aclAdminsproxy_auth_regex-iAadmin想要查看mgr信息,例如mgr:info等,请先加上一下语句acllocalhostsrc/55aclManagerprotocache_objecthttp_accessallowManagerlocalhost想手动强行刷新:acllocalhostsrc/55aclPurgemethodPURGEhttp_accessallowPurgelocalhostdns_children120

refresh_pattern 的作用:refresh_pattern 指令间接的控制磁盘缓存。它帮助squid决定,是否某个给定请求是cache命中,或作为cache丢失对待。宽松的设置增加了你的cache命中率,但也增加了用户接收过时响应的机会。另一方面,保守的设置,降低了cache命中率和过时响应。refresh_pattern 规则仅仅应用到没有明确过时期限的响应。 原始服务器能使用Expires头部,或者Cache-Control:max-age指令来指定过时期限。refresh_pattern 语法如下:refresh_patternAftp:refresh_pattern^gopher:refresh_pattern.refresh_pattern-i\.gif$ 18090% 1440refresh_pattern-i\.jpg$18090% 1440例如:refresh_pattern[-i]regexpminpercentmax[options]例如:TOC\o"1-5"\h\z144020% 100801440 0% 14400 20% 4320reload-into-imsignore-no-cacherefresh_pattern-i\.wmv$1440 refresh_pattern-i\.wmv$1440 90% 2880reload-into-imsignore-no-cacherefresh_pattern-i http://xxx/jobs_nv/ajax_keywords.asp 144050%10080override-expireoverride-lastmodreload-into-imsignore-reloadignore-no-cacheignore-private (缓存动态文件,可以做到,但是个人认为没意义)ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""ffffffffffffffffffffffffffffffffffffffffffffffTfT7ffTfT7ffTfTfT7ffTfT7ffTfT7ffTfTfT7ffTfT7ff开始时的编译安装:./configure\指定软件安装路径--prefix=/opt/squid\指定软件安装路径--enable-delay-pools\支持流量控制

--enable-delay-pools\支持流量控制--enable-async-io=120\ 这个主要是设置async模式来运行squid,我的理解是设置用线程来运行squid,如果服务器配置很不错,有1G以上内存,cpu使用SMPI勺方式的话可以考虑设成160 或者更高。如果服务器比较糟糕就根据实际情况设了。另外此项还另cache文件支持aufs--enable-auth=="basic"--enable-basic-auth-helpers="NCSA"以上两个是编译用户认证模块。让squid支持这些文件系统--enable-useragent-log\ 允许解析的URL中出现下划先,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址--enable-kill-parent-hack\掉--enable-forward-log--enable-kill-parent-hack\掉--enable-forward-log\--enable-snmp\流量状态进行监测,因此必须--enable-cache-digests\此选项可以让MRTGS用SNM胁议对服务器的选择此项,使Squid支持SNM接口加快请求时,检索缓存内容的速度。指定出错是显示的错误--enab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论