- 作者:zhaozj
- 发表时间:2020-12-23 10:58
- 来源:未知
Squid详细介绍1
隔了很久才有空可以写这个经验体会,前一段时间一直在搞qmail,头大中,终于可以空下来了:)
先看squid的一个重要的,对我来说也是唯一需要配置的一个配置文件。选项非常多,当然,默认的squid.conf文件中对于每一个选项都有比较详细的说明,但是我还是想把我理解的以及必须要进行配置的选项罗列出来,以免过段时间自己都忘了^_^
以下的配置我是要向sina,sohu,163学习的web server的架构,试着自己去搭建一个这样的环境来看看效果到底如何。因此这里的squid不是用来做代理的,而是反向作为网站高速缓存。其实原理差不多,只是方向反一反而已,相信都能理解这点的。
使用的测试服务器为Dell 2650 双CPU至强2.4G 内存DDR 2G。OS为Freebsd 5.2.1(这里需要说明的是,从实际使用情况来看,squid跑在freebsd上的效果是最快最好的。这是由os的文件系统所决定的,千万不能用,solaris,感觉solaris的文件系统实在太慢,虽然非常稳定,而且跑多线程的效果是最好的。linux嘛~~~没有进行测试,不过感觉在freebsd之下,solaris之上。)
Squid.conf的几个重要参数的配置说明:
http_port 61.155.143.54:80 #Squid Server侦听的端口。假设我的主页的dns server 指到61.155.143.54上的,因此我必须让squid来侦听这个IP的这个端口。
cache_mem 32 MB #要额外提供多少内存给squid使用,这里的额外是指squid会将最常用的一些缓存放到这块内存中。这个指令也是我看了官方文档后才理解的。因为一开始从实际使用情况来看,我这边设32M的话,用top命令来查看一般会达到100M左右。这点让我让我很想不通,呵呵。然后就去看官方文档,发觉squid是这样来计算使用多少内存的:squid本身的进程大概10M-20M,然后下面我设的cache目录的大小是500M的话,那他放在内存里的hash索引大概需要20M左右,然后再加上这里设置的cache_mem的值。官方文档建议你的实际内存大小应该是这个squid所需要总内存的2倍以上。自己量力而为吧。cache_mem当然是越大越好了。
cache_dir ufs /usr/local/squid-54/var/cache 500 16 256 #设置squid存放cache目录的位置以及大小。第一个数字500是指目录的总大小为500M(默认为100M),第二个数字16是指第一级目录为16个,第三个数字256是指第二级目录为256个我个人觉得如果网站访问量大,并且内容很多的话,可以考虑将默认的100M改大一点,否则会报错。我就经历过,错误我忘了记录了(该死!)大致就是说超过Max的极限了,当时查了半天才找到罪魁祸首是这条指令,惭愧~~~。