659441806 发表于 2018-12-28 07:33:21

squid 的配置详解 (转)--SeriesI 收藏

  squid 的配置详解 (转)--SeriesI 收藏
  使用过一段时间的SQUID代理,感觉虽然挺好用的单是过程还是挺曲折的,这个期间也在网络到处搜索了很多关于SQUID的说明文档,和教程。但是显然的还是有那么几个问题,(可能是我个人的问题^_^)
  1.版本太少,看来看去就那么几个版本所谓天下文章一大炒,当然这是排在GOOGLE前面的一些资料,也是最容易获得的,也可以满足一般的需要
  2.就是要么基础要么太难:看见过一篇难的讲SQUID的源代码(开发者之一)
  直到我在图书管发现了一篇算是讲的很好的SQUID的文章,图书馆讲SQUID的 书也看过不少的,但是觉得 讲的还是略微的浅了。知道看见这篇若干年前的书,SQUID确实讲的很好,好东西不敢独吞,拿出来和大家共享。----
  如果侵犯作者的版权(我的本意是学习交流的),请作者和我联系,我将删除之
  PS:这确实是一本不错的书,讲的几个东西,我个人觉得都还是不错的。
  SQUID应用程序文件:
  /usr/sbin/squid
  ;守护进程主程序
  /usr/sbin/client
  ;统计并显示摘要表的内容
  /usr/lib/squid/cachemgr.cgi ;可通过WEB查看SQUID运行时的CGI程序
  /usr/lib/squid/dnsserver;辅助SQUID处理域名解析
  SQUID默认的缓冲目录结构并不重要,因为一般都重新规划缓冲目录,必须注意的是SQUID的记录文件,这些记录文件被默认放在了/var/log/squid目录下面
  /var/log/squid
  |--access.log;记录客户端所有请求的记录文件
  |--store.log;存储缓冲对象的状态及记录文件
  |--cache.log;cache的启动及各类状态文件的记录
  (我个人比较喜欢分析第一个日志文件,每隔一个礼拜通过这个日志文件产生一个最受欢迎的网站)有兴趣的朋友可以来信所要脚本文件
  Squid传统安装的文件结构
  用传统的COMPILE方式按章Squid时,SQUID呈现如下的目录结构
  /usr/local/squid
  |--bin;放置SQUID相关的可执行文件
  |    |--RunAccel ;放置SQUID可执行文件
  |    |__RunCache
  |    |--cachemgr.cgi;查看SQUID实时运行的程序
  |    |--Client;统计并显示摘要表的内容
  |    |--dnsserver;辅助squid进行域名解析
  |    |--squid;squid demon 主程序
  |    ---unlinkd
  |--etc ;放置SQUID相关配置文件
  |    |--errors
  |    |--icons
  |    |--mib.txt;SQUID-mib定义文件
  |    |--mime.conf;定义SQUID识别的MIME TYPE
  |    |--mime.conf.default;使用默认
  |    |--squid.conf;配置文件
  |    |--squid.conf.deault;使用默认
  |--logs
  |--access.log
  |--store.log
  |--cache.log
  squid的初级配置
  RMP格式的SQUID配置文件在/ETC/SQUID/SQUID.CONF文件里,一般来说,只要稍微调整几个设置项目,并可以发挥出SQUID的强大效能。下面的修改都是对这个陪着文件所做一些调整。
  1.http_port 命令
  SQUID默认传输端口是3128可以通过配置项目http_port来定义,例如如果要将端口配置为8080,那么可以这样来配置
  Http_port 8080
  2.icp_port命令
  SQUID默认与其他的SQUID proxy通讯的端口是3130,如果你要对默认的端口做修改,那么可以如下配置
  icp_port 3200
  3.cache_peer命令
  如果要设置父级的代理服务器,例如proxy.test.edu.cn那么可以这样配置
  在#cache_peer hostname type 3128 3130 之下加入
  cache_peer proxy.test.edu.cn parent 3128 3130 no-query no-netdb-exchange
  如果要设置同级的代理服务器,如:192.168.1.41 192.168.1.42则可以这样来配置
  cache_peer 192.168.1.41 sibling 3128 3130 proxy-only
  ....
  注意目前各单位施行代理服务器分级管理,设置父级代理服务器,还必须取得上层单位的同意
  说明:
  (1)命令cache_peer的定义格式是:
  cache_peer hostname type 3128 3130
  hostname 是用来指定获取缓冲的PROXY主机的名字
  type 是PROXY主机的类型,有以上PARENT SIBLING两种
  3128:HTTP_PORT
  3130:ICP_PORT
  (2)附加配置选项(注意应为小写,配置时)
  NO-QUERY:不做查询操作,直接获取数据
  NO-NETDB-EXCHANGE:代理服务器之间不交互信息
  NO-DIGEST:代理服务器之间不做摘要表查询,直接用ICP协议沟通(同级代理)
  PROXY-ONLY:直接获取对方缓冲,转交给代理服务器的客户端,而不存入本地
  ROUND-ROBIN:如果设置数部上层服务器,那么轮流查询父级服务器
  LOGIN=USER:PASSWD:要求对方做帐号及密码验证,例如
  cache_peer 192.168.1.41 sibling 3128 3130 login=kao:123456
  4 cache_mem命令
  SQUID默认运行本代理服务器的高速缓存内存空间为8MB,而默认存放缓冲数据的内存空间是100MB,当然这可能无法满足您的要求,为了加快您的服务器处理速率,可以修改这些配置,例如
  cache_mem 92mb
  说明:
  (1)cache_mem后使用的内存数值,默认是以BYTE为单位,例如64kb=65536,也可以使用KB,MB,GB为单位
  (2)cache_mem后设置的内存大小,应该约为实际内存的1/3
  (3)如果本机只做代理服务器,则CACHE_MEM可以提升到本机内存的1/2-3/4
  5 cache_dir命令
  修改玩CACHE_MEM定义后,接着用cache_dir命令重新定义缓冲区目录位置,及缓冲目录的大小,用法如下:
  #cache_dir type directory-name mBytes level-1 leverl2
  在#ufs/var/spool/squid 100 16256之下加入如下的配置
  cache_dir ufs /cache1 2048 128 256
  说明:
  (1)UFS栏:设置缓冲存储的系统类型,这是2.3版本以后才有的新参数,缓冲类型有UFS,ASYNCUFS两种,一般都是用ufs,asyncufs用于异步的IO传输,在LINUX 或者SOLARIS系统上使用ASYNCUFS选项相当危险。
  (2)/CACHE1栏:设置缓冲的目录的路径
  (3)2048栏:设置缓冲的空间大小默认单位是MB
  (4)128栏:第一层的缓冲目录数,默认是16
  (5)256栏:第二层的缓冲目录数,默认是256,即每一个一层的缓冲的目录下面有256个缓冲目录
  SQUID的默认缓冲空间在/VAR/SPOOL/SQUID目录下,如果想增加缓冲目录,请先参考这一节规划缓冲目录,再设置如下
  cache_dir ufs /cache1 4096 64 128
  cache_dir ufs /cache2 4096 64 128
  cache_dir ufs /cache3 4096 64 128
  cache_dir ufs /cache4 4096 64 128
  注意:
  如果只有一块硬盘,最好分割一到数块独立的分区来做缓冲空间,如果有两个硬盘,那么每一块最好都分割数块分区来做缓冲空间,这样可以提高SQUID的存取效率
  SQUID的大致配置如此,不过不同的版本可能有所差异,另外为了 拒绝客户端存取代理服务器的默认值为拒绝获取缓冲数据,应该要加入:
  #http_access deny all;关闭拒绝获取CACHE数据
  详细的存取控制方法,参考下面的章节
  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zinking3/archive/2007/06/08/1644611.aspx

页: [1]
查看完整版本: squid 的配置详解 (转)--SeriesI 收藏