[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 应用专题 > Proxy > 正文
 

squid安装配置笔记

作者:佚名 来源:Linux时代 (2007-02-08 17:25:17)

  =====安装部分=====

  加大描述符(默认为1024)

  ulimit -HSn 8192

  下载最新版

  wget www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE9.tar.bz2 -P /tmp

  cd /tmp

  tar jxf squid-2.6.STABLE9.tar.bz2

  cd squid-2.6.STABLE9

  ./configure –prefix=/app/squid2.6.9 –enable-snmp && make && make install

  #也可以在./configure 时加入–with-maxfd=

  =====配置文件=====

  cache_swap_low 90

  cache_swap_high 95

  maximum_object_size 20000 KB #超过这个值则不缓存

  maximum_object_size_in_memory 4096 KB #装入内存缓存的文件大小,默认值是8K,超过8K的文件都不装入内存,可以在这里设成4M.

  cache_dir ufs /tmp1 10000 16 256 #磁盘缓存的类型和目录,大小,一二级目录的设置,这里磁盘缓存大小是10G

  acl QUERY urlpath_regex cgi-bin .php .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe

  cache deny QUERY #设置不想缓存的目录或者文件类型

  ###相关日志记录,可以设为none成不记录日志####

  cache_store_log /var/log/squid/store.log

  cache_log /var/log/squid/cache.log

  access_log /var/log/squid/access.log combined

  ###设置防图片盗链,其中aaa.com和bbb.com分别是虚拟主机的域名,referer中必须包含有aaa.com或bbb.com的域名才能访问图片####

  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

  #考虑有些referer为空的情况

  acl nullref referer_regex -i ^$

  http_access allow nullref

  #其它referer,直接拒绝访问

  acl hasref referer_regex -i .+

  http_access deny hasref picurl

  ###反向代理###

  cache_peer xx.xx.xx.xx parent 81 0 no-query originserver

  ###squid使用的用户组和用户名###

  cache_effective_user squid

  cache_effective_group squid

  =====其它=====

  ++遇到故障,runcache发现频繁重启后停止服务:

  :./bin/RunCache Running: squid -sY >> /usr/local/squid//var/squid.out 2>&1

  ./bin/RunCache: line 35: 20000 File size limit exceededsquid -NsY $conf >>$logdir/squid.out 2>&1

  ..中间省去几行….

  ./bin/RunCache: line 35: 20177 File size limit exceededsquid -NsY $conf >>$logdir/squid.out 2>&1

  RunCache: EXITING DUE TO REPEATED, FREQUENT FAILURES

  故障原因: log超过了ext3文件系统最大支持容量2G导致,解决办法:

  1)每天轮循一次日志0 0 * * * /usr/local/squid/sbin/squid -k rotate

  2)直接在配置文件中禁用日志

  access_log none

  cache_store_log none

  ++启动参数

  用squid -NCd1来以debug模式启动,

  加-D选项来用不检查DNS启动squid

  ++查看信息

  1)squidclient -h 218.85.132.65 -p 80 mgr:info #也可看到描述符

  2)看cache.log,如果能看到很多的TCP_MEM_HIT,这说明该文件是从内存缓存读取的,其它如TCP_HIT等等,这些是从磁盘读取的,这个只不过能缓解apache的压力而已.

  ++apache的log显示ip来源都是127.0.0.1,修改配置文件使其可以正常记录来访IP

  将CustomLog的%h改为%{X-Forwarded-For}i,其它不变.


(http://www.fanqiang.com)



 
 相关文章
squid日志分析软件sarg的安装和使用 2006-06-27 16:05:38
Linux下Squid代理服务器的架设与维护(二) 2006-06-08 15:09:10
用Squid实现代理上网及计费 2005-06-17 10:09:56
代理服务器 Squid 使用详解 2005-06-17 10:01:30
Squid 工作的原理 2001-05-02 04:27:13
Squid Proxy Server基础入门 2001-05-02 02:59:28
如何编译并安装Squid 2001-04-21 17:58:14
代理接入服务器(五)Squid代理服务器 2002-02-15 07:15:00
Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -8.Apache.Squid 2001-07-03 16:10:00
 

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com