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

 

使用过一段时间的SQUID代理,感觉虽然挺好用的单是过程还是挺曲折的,这个期间也在网络到处搜索了很多关于SQUID的说明文档,和教程。但是显然的还是有那么几个问题,(可能是我个人的问题^_^)

1.版本太少,看来看去就那么几个版本所谓天下文章一大炒,当然这是排在GOOGLE前面的一些资料,也是最容易获得的,也可以满足一般的需要

2.就是要么基础要么太难:看见过一篇难的讲SQUID的源代码(开发者之一)

 

直到我在图书管发现了一篇算是讲的很好的SQUID的文章,图书馆讲SQUID 书也看过不少的,但是觉得 讲的还是略微的浅了。知道看见这篇若干年前的书,SQUID确实讲的很好,好东西不敢独吞,拿出来和大家共享。----<<LINUX网络操作经典-高手究极篇>>

 

如果侵犯作者的版权(我的本意是学习交流的),请作者和我联系,我将删除之

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.logcache的启动及各类状态文件的记录

 

(我个人比较喜欢分析第一个日志文件,每隔一个礼拜通过这个日志文件产生一个最受欢迎的网站)有兴趣的朋友可以来信所要脚本文件

 

Squid传统安装的文件结构

用传统的COMPILE方式按章Squid时,SQUID呈现如下的目录结构

 

 

 

/usr/local/squid

|--bin;放置SQUID相关的可执行文件

|    |--RunAccel ;放置SQUID可执行文件

|    |__RunCache

|    |--cachemgr.cgi;查看SQUID实时运行的程序

|    |--Client;统计并显示摘要表的内容

|    |--dnsserver;辅助squid进行域名解析

|    |--squidsquid demon 主程序

|    ---unlinkd

|--etc ;放置SQUID相关配置文件

|    |--errors

|    |--icons

|    |--mib.txtSQUID-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两种

3128HTTP_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为单位

2cache_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

 

说明:

1UFS栏:设置缓冲存储的系统类型,这是2.3版本以后才有的新参数,缓冲类型有UFS,ASYNCUFS两种,一般都是用ufsasyncufs用于异步的IO传输,在LINUX 或者SOLARIS系统上使用ASYNCUFS选项相当危险。

2/CACHE1栏:设置缓冲的目录的路径

32048栏:设置缓冲的空间大小默认单位是MB

4128栏:第一层的缓冲目录数,默认是16

5256栏:第二层的缓冲目录数,默认是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数据

 

详细的存取控制方法,参考下面的章节

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值