设为首页 收藏本站
查看: 1319|回复: 0

[经验分享] squid 的配置详解 (转)--SeriesI

[复制链接]

尚未签到

发表于 2015-11-19 10:32:26 | 显示全部楼层 |阅读模式
使用过一段时间的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的启动及各类状态文件的记录

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

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识别的MIMETYPE
|    |--mime.conf.default;使用默认
|    |--squid.conf;配置文件
|    |--squid.conf.deault;使用默认
|--logs
|--access.log
|--store.log
|--cache.log


squid的初级配置
RMP&#26684;式的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的定义&#26684;式是:
cache_peer hostname type 3128 3130
hostname 是用来指定获取缓冲的PROXY主机的名字
type PROXY主机的类型,有以上PARENTSIBLING两种
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后使用的内存数&#20540;,默认是以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的大致配置如此,不过不同的版本可能有所差异,另外为了 拒绝客户端存取代理服务器的默认&#20540;为拒绝获取缓冲数据,应该要加入:
#http_access deny all;关闭拒绝获取CACHE数据

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-141078-1-1.html 上篇帖子: squid 的配置详解 (转)--SeriesIV 下篇帖子: squid 的配置详解 (转)--SeriesIII
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表