Squid 2.6 加速模式的主要配置
前几天转载了一篇只对内部网络提供代理服务的Proxy Server的文章。在特定的情况下,有时候需要为提供公共服务的WEB服务器配置前端的缓存加速服务器。
正好前几天为客户做了这样的工作,使用了squid的2.6.STABLE19-1.el5版本。
一、服务器环境
1、操作系统:CentOs5.0,X86平台,32位系统。
2、禁用SeLinux。(避免不必要的安全权限限制)
修改/etc/selinux/目录下的config文件,使用vi编辑设置SELINUX的值为disabled。
3、设置操作系统启动不调用SeLinux。
修改/boot/grub/目录下的grub.conf文件,使用vi编辑在kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ 加上 selinux=0,变为:kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ selinux=0 。
4、如果防火墙禁止了80端口,设置允许通过,或者通过运行setup关闭防火墙(确保网络安全的情况下使用)。
二、下载、安装包
下载地址:http://people.redhat.com/mnagy/squid/
安装:rpm -ivh squid-2.6.STABLE19-1.el5.i386.rpm
也可以下载源码进行编译。rpm安装方式对于大多数使用者来说可能更方便。
三、加速模式下的有关源主机的主要参数配置
作为加速模式,squid2.6的版本和2.5的版本有区别。
1 squid2.5的对加速主机指向配置
http_port 80 //cache服务器监听端口,即对外访问服务的端口。可根据需要设置。
httpd_accel_host 10.1.1.100 //需要加速的web主机,可以是域名或者ip。
httpd_accel_port 80 // 需要加速的web主机的端口,web主机默认是80,除非后台服务器运行在不同端口。
httpd_accel_single_host on //激活了httpd_accel_single_host时,squid总是转发cache到httpd_accel_host里定义的主机。
httpd_accel_uses_host_header on //该指令控制squid如何决定它插入加速URI里的主机名。假如激活了,请求里的Host头部值,会优先于httpd_accel_host值。httpd_accel_uses_host_header指令与后台服务器上运行的虚拟域配合工作。假如后台服务器仅处理1个域,那么可禁用它。然而,假如你在加速多个域名,就请设置为on。
2、squid2.6的对加速主机指向配置
http_port 80 accel defaultsite=10.1.1.100 //80为cache服务器监听端口,accel代表为加速模式,defaultsite的值为需要加速的web主机,可以是域名或者ip。
cache_peer 10.1.1.100 parent 80 0 no-query originserver
//cache_peer 的完整格式是: cache_peer hostname type http-port icp-port [options]
本例中hostname对应的是10.1.1.100,即需要加速的web主机(可以是域名或者ip);type设置为parent,指的是web服务器与cache服务器的主从关系;http-port设为80,指的是需要加速的web主机的端口;icp-port,配合下一个参数no-query使用,没研究明白,可能是配置cache集群时cache服务器之间的访问使用;originserver 指的是需要查找此行的主机,意思为现在的模式为加速模式。
四、总结
squid提供了强大的功能,关于加速模式的配置,主要有以上的不同。由于刚研究squid不久,其他的参数变化尚未体验。以上所述也不保证对所有情况适用,仅供参考。
Squid 2.6 加速模式的主要配置:等您坐沙发呢!