Entries Tagged as '2.6'

squid的file descriptor

squidfile descriptor是个非常重要的参数
他关系squid能同时打开多少个文件描述符
跟squid的性能密切相关
而linux下所有用户的file descriptor缺省都是1024
//汗
以前在squid2.5的时候
都是通过编译squid的之前
先手工强制加大file descriptor
ulimit -HSn 65536
然后再等编译完
启动之前
也加上
ulimit -HSn 65536
这样的方法来增大file descriptor
但这种方法在squid2.6的情况下
也不是不行
主要是这次我不想重新用用源码编译squid
我就想用rpm
哪怕把系统的srpm下下来rebuild下也行
反正我在rebuild的时候
ulimit -HSn 65536的方式没成功
不知道问题在什么地方
但我明白了一点
redhat系的squid2.6的rpm包里
其实有着一些redhat专门为squid打的补丁
其中就有对config参数”

–enable-fd-config

“的支持
以及相对应的在squid的配置文件里支持参数

max_filedesc

的支持
所以
如果是redhat系列的linux系统自带的squid2.6
只要在配置文件里设置max_filedesc就可以轻松解决file descriptor的问题

用squid2.6反向加速多个web网站

squid2.5的配置就不用介绍了
这里的题目是“squid2.6
2.6下配多个站点的反向加速远没有2.5时的简单
就因为这
手头好些squid2.5没有升级到2.6呢
到现在2.6都成料”old“版本了
(stable的是2.7和3.0)
后来发现其实弄明白了也还是挺简单的
主要就是”http_port“、”cache_peer“和”cache_peer_domain“这三句配置
首先

http_port xxx.xxx.xxx.xxx:80 vhost

这里的xxx.xxx.xxx.xxx是这台squid机器的公网地址
如果要squid绑定所有端口的话
可以简写成

http_port 80 vhost

这里vhost是基于名称的虚拟主机的意思
如果有需要加速基于ip(其实就是基于tcp端口)的虚拟主机
则后面再加个vport即可
然后再就是cache_peercache_peer_domain的配合了
首先,给每一个squid后台的real server(web server)建立一个cache_peer
像这样:

cache_peer xxx.xxx.xxx.xxx parent 80 0 no-query originserver

(这里的xxx.xxx.xxx.xxx是real server的ip,当然写域名也可以,只要能够被squid的机器正确解析为ip地址)
80是real server的服务端口,一般应该是80吧
因为后端real server一般应该是web server,不是squid,所以自然没有icp端口之说,所以icp端口设为0
最后的originserver正是指出了,这是台原始(内容)服务器,我们习惯称之为real server

再然后在cache_peer_domain里将由squid提供加速服务的域名分别扔给上面定义的cache_peer
注意:貌似每一个cache_peer必须至少有一个cache_peer_domain与之相对应
像这样

cache_peer_domain xxx.xxx.xxx.xxx www.domain.cn

或者是

cache_peer_domain xxx.xxx.xxx.xxx .domain.cn

上面的xxx.xxx.xxx.xxx是后台real server的ip地址,且是在cache_peer中定义过的

到这里就差不多了
剩下的无非是用acl权限控制什么的
我多半喜欢用dstdomain来定义acl
除了这个acl的都不让访问
呵呵
因为一般反向加速模式的squid都是服务于自己公司的网站
而自己公司的域名一般也就那么两个
最重要的是天知道哪天某个公司的域名要加到squid的服务里来
哪天又要挪出去
这样设好了就一劳永逸