反向代理的配置过程和正向代理没有什么太大区别,唯一的区别是配置文件中一个地方需要改动一下,需要把
|
|
|
|
技术面前,永远都是学生。
通过squid.conf配置文件中的cache_peer选项来配置代理服务器阵列,通过其他的选项来控制选择代理伙伴的方法。Cache_peer的使用格式如下:
cache_peer hostname type http_port icp_port option
有了Varnish防盗链,自然也要有Squid的防盗链。原理都一样,对Referer进行判断,当然网上有所谓的终极解决方案还对cookies进行判断的,这里还是只讨论Referer这种。在Squid里就是在配置文件添加acl控制,在squid.conf中的acl段添加如下配置:
|
|
首先要明确一下,squid 能够用来作什么。很多人没有搞明白 squid 的工作原理,只是听说 squid 性能不错可以用来给网站提速,就直接在自己的 website 前面套了一个 squid ,这基本没有任何用处,即使你都是静态页面,后面apache上面没有开 mod_expires,一样缓存不了,squid只能起到一个连接管理的用处。
一般说来,网站用 squid 加速,目的有二种
squid 本身具有缓存功能,可以将webserver输出的内容缓存起来,在缓存没有过期之前来的访问,都直接用缓存里面的内容,这样可以有效减少 webserver 机器上面的请求数量。这是 squid 的主要功用。
网络慢的用户会长时间占用 webserver 的 TCP 连接,webserver 对每个连接占用的资源比较大,如果长时间不能释放出来服务其他请求,性能会有比较大的影响。前面放一个 squid, webserver 就可以迅速处理完逻辑以后,把数据快速发送给 squid, 然后去处理别的逻辑,而 squid 每个 TCP 连接占用的资源很少,不用担心占用太多资源。这个用途也叫做连接管理,有一些网络设备也可以做这个事情,价格都很贵。
下面针对 squid 的两种功用,来讲述如何调整业务逻辑和 squid 参数预操作
在搞 squid 之前,不管你用什么编译配置,需要什么特殊选项,都请 –enable-snmp ,并配置好 mrtg 之类,可以图形化的显示 squid 状态,例如 Request Hit Ratio(RHR), Byte Hit Ratio(BHR), 等等,反馈是做一切事情的基础,优化也不例外。
squid的日志很重要。常常要了解的,其中最重要的就是命中率啦,不然反向代理做的用就不大。
|
|
Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量。
|
|
增加以下几行:引用
|
|