欢迎您,零度科技专业海外服务器租用
公司电话: 24小时电话: 

当前位置:首页>帮助教程>Linux 系统教程

目录导航

squid配置参数的一些解释

美国西岸机房 发布于 2014-05-09   squid反向代理
Linux 系统教程
http_port 3128
#一般squid仅对80端口的HTTP服务加速。使用http_port指令让squid侦听在该端口:
http_port 80
假如想让squid既作cache代理,又作加速器,那么列出这2个端口,但是所有指定的端口都必须在一条命令行上:
http_port 80 http_port 3128
logfile_rotate 3
#周期性的滚动日志文件,以阻止它们变得太大。为了合理控制磁盘空间消耗,在cron里使用如下命令:
%squid -k rotate
例如,如下任务接口在每天的早上4点滚动日志:
0 4 * * * /usr/local/squid/sbin/squid -k rotate
工作过程:该命令做两件事。首先,它关闭当前打开的日志文件。然后,通过在文件名后加数字扩展名,它重命名cache.log,store.log,和access.log。例如,cache.log变成cache.log.0,cache.log.0变成cache.log.1,如此继续,滚动到logfile_rotate选项指定的值。
cache_mem 1024 MB
指定squid可以使用的内存理想值,建议设为内存的1/3.
#此参数并非指定进程的最大值,它只是设定一个squid能够用于多少额外的内存来缓存对象的限制值,squid在其他方面也需要使用内存。
read-only
read-only选项指示Squid继续从cache_dir读取文件,但不往里面写新目标。他在squid.conf文件里看起来如下:
cache_dir ufs /cache0 7000 16 256 read-only
如果你想把cache文件从一个磁盘迁移到另一个磁盘,那么可使用该选项。如果你简单的增加一个cache_dir,并且删除另一个,squid的命中率会显著下降。在旧目录是read-only时,你仍能从那里获取cache命中。在一段时间后,就能从设置文件里删除read-only缓存目录。
max-size
使用该选项,你能指定存储在cache目录里的最大目标大小。例如:
cache_dir ufs /cache0 7000 16 256 max-size=1048576
注意值是以字节为单位的。在大多数情况下,你不必增加该选项。如果你做了,请尽力将所有cache_dir行以max-size大小顺序来存放(从小到大)。
#cache_swap_low和cache_swap_high指令控制了存储在磁盘上的对象的置换。它们的值是最大cache体积的百分比,这个最大cache体积来自于所有cache_dir大小的总和。例如:
cache_swap_low 90
cache_swap_high 95
如果总共磁盘使用低于cache_swap_low,squid不会删除cache目标。如果cache体积增加,squid会逐渐删除目标。在稳定状态下,你发现磁盘使用总是相对接近cache_swap_low值。你可以通过请求cache管理器的storedir页面来查看当前磁盘使用状况
请注意,改变cache_swap_high也许不会对squid的磁盘使用有太大效果。在squid的早期版本里,该参数有重要作用;然而现在,它不是这样了。
如果不想squid缓存任何文件,如某些空间有限的专有系统,可以使用null文件系统(这样不需要哪些缓存策略)
Cache_dir null /tmp
cache_vary on (默认 on 表示可以缓存静态文件)
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF
#cache的替换策略,对于小文件比较多的缓存服务器,采用GDSF容易获得比较好的命中
率,特别是内存命中率.
minimum_object_size 0 KB
maximum_object_size 6 MB
大于该值得对象将不被存储。如果要提高访问速度,就降低该值;如果想最大限度的节约带宽,降低成本,就增加该值。
maximum_object_size_in_memory 1024 KB
设置较小的maximum_object_size_in_memory值有助于有效控制squid过度占用内存
cache_dir aufs /opt/squid/cache 4000 16 32
cache_dir aufs /opt/squid/cachedir/cache01 4000 16 32
cache_log /opt/squid/var/logs/cache.log
#cache_dir指令是squid.conf配置文件里最重要的指令之一。它告诉squid以何种方式存储cache文件到磁盘的什么位置。cache_dir指令取如下参数:
#缓存目录的设置,可以设置多个缓存目录,语法为:<cache_dir> <aufs|ufs> <目录所在> <MBytes大小> <dir1> <dir2>
cache_dir aufs /opt/squid/cachedir/cache01 4000 16 32表示
其中4000该目录下使用的缓冲值为4000MB 16是cache01下子目录数量 32是cache01下子目录的下一级目录的数量
strip_query_terms off
#该指令是另一个隐私保护功能。在记录请求前,Squid删除了查询条件。假如日志文件不幸落入坏人之手,他们不会找到任何用户名和密码。当该指令激活时,在问号(?)之后的所有字节被删除。例如,某个URl如下:
http://auto.search.msn.com/response.asp?MT=www.kimo.com.yw&srch=3&prov=&utf8
会被记录为:
http://auto.search.msn.com/response.asp?
acl nolog urlpath_regex -i \.dll
emulate_httpd_log on
logformat combined %&gt;a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}&gt;h" %Ss:%Sh !nolog
#所有日志格式按照apache 标准格式输出,并且不记录nolog定义的访问日志 eg:192.168.19.212 - - [23/Oct/2008:00:00:24 +0800] "GET http://images.zhaopin.com/new4/images/nub/1.gif HTTP/1.0" 304 0 "http://www.zhaopin.com/beijing/?DYWE=1224581170741.435762.1224638441.1224644873.3" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)" TCP_IMS_HIT:NONE
要记录源IP地址:
logformat combined %{X-Forwarded-For1}&gt;h %&gt;a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}&gt;h" %Ss:%Sh
日志即为:82.145.157.175 192.168.10.114 - - [14/Dec/2009:09...

本文出自零度科技转载请注明出处:http://www.ldisp.com/a/linux/2014/2756.shtml

上一篇:测试网站集群节点的页面访问是否正常
下一篇:关闭OpenSSH UseDNS选项加速SSH登录

 
了解零度?

零度科技主营全球服务器租用,如果您有服务器租用需求请联系

海外服务器租用

推荐香港、美国、韩国。提供站群服务器、高防服务器租用

海外特价服务器

关注零度特价服务器频道,了解全球特价服务器。

0

业务咨询

    技术服务

      特价活动
        全站搜索
        热门搜索:
        会员
        0通知
        客服
        0特价
        搜索
        TOP
        香港高防服务器,远程桌面,韩国服务器,nginx,反向代理