SQUID FOR WINDOWS配置

 

 

  本文中SQUID放在172.20.65.201的机器上,应用WEB SERVER IP为172.20.65.203,其中SQUID在201上的80端口侦听,测试客户端机器为172.20.65.231,在squid.conf中#代表注释,所以开启某项设置,需去掉前面的#。TAG标签代表每一功能项的设置。

 
1、下载
   下载SQUID FOR WINDOWS(我所用的版本是Squid 2.7.STABLE6,各个版本的配置可能略有不同,大家请注意)

2、安装
   将SQUID解压到c:\squid(当然也可解压在其它盘符下)

 
3、建立磁盘缓存和日志目录
   默认情况是在安装磁盘下建立,为确保性能大幅度提升,建立选择磁盘空间容量较大的盘符,如:建立d:\squid\var目录,在var目录下建立logs和cache目录,其中logs目录用   于存放日志,cache目录用于存放硬盘缓存数据。

 
4、建立缓存目操作权限
   为了使抓取的数据,能够存放在缓存目录下,建立系统账户如squidApp,将其属于普通用户组应可,将d:\squid授予该用户读写权限即可。
   
5、文件更改
   c:\squid\etc是SQUID的配置信息的存放处,为确保安全,在你修改配置文件前,请将其备份,然后将squid.conf.default修改为squid.conf,
   mime.conf.default修改为 mime.conf ,cachemgr.conf.default 修改为cachemgr.conf

 
6、配置SQUID
   针对于SQUID来讲大部分配都在squid.conf中,本文中所使用环境如下:

 
   开启如下访问控制
   acl all src all
   acl manager proto cache_object
   acl localhost src 127.0.0.1/32
   acl to_localhost dst 127.0.0.0/8
   acl localnet src 172.16.65.231/255.255.0.0 指定本地网络及掩码

 
   开启访问端口
   acl SSL_ports port 443
   acl Safe_ports port 80 # http
   acl Safe_ports port 21 # ftp
   acl Safe_ports port 443 # https
   acl Safe_ports port 70 # gopher
   acl Safe_ports port 210 # wais
   acl Safe_ports port 1025-65535 # unregistered ports
   acl Safe_ports port 280 # http-mgmt
   acl Safe_ports port 488 # gss-http
   acl Safe_ports port 591 # filemaker
   acl Safe_ports port 777 # multiling http
   acl CONNECT method CONNECT

 
   开启访问控制,请一定要注意顺序
   http_access allow manager localhost
   http_access deny manager
   http_access deny !Safe_ports
   http_access deny CONNECT !SSL_ports
   http_access allow all
   http_access allow localnet
   http_access deny all

 
   指定SQUID在80端口侦听, vhost 指定使用加速模式
   http_port 80 vhost 

 
   203后台WEB SERVER, parent指父节点, 80 指后台网站的端口, 0 ICP 服务端口,no-query  originserver 获取缓存时的选项
   cache_peer 172.20.65.203       parent    80  0  no-query  originserver

 
   缓存设置
   maximum_object_size_in_memory 1024 KB
   cache_dir ufs d:/squid/var/cache 1024 16 256 注意路径
   maximum_object_size 4096 KB
   cache_swap_low 90
   cache_swap_high 95

 
   日志设置
   access_log d:/squid/var/logs/access.log squid 访问日志
   cache_log d:/squid/var/logs/cache.log
   cache_store_log d:/squid/var/logs/store.log
   emulate_httpd_log on

 
   控制页面缓存内容
   refresh_pattern ^ftp: 1440 20% 10080
   refresh_pattern ^gopher: 1440 0% 1440
   refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
   refresh_pattern . 0 20% 4320
   refresh_pattern -i \.css$ 20 50% 120 reload-into-ims
   refresh_pattern -i \.xml$ 20 50% 120 reload-into-ims
   refresh_pattern -i \.html$ 20 90% 120 reload-into-ims
   refresh_pattern -i \.jpg$ 20 90% 120 reload-into-ims
   refresh_pattern -i \.png$ 20 90% 120 reload-into-ims
   refresh_pattern -i \.gif$ 20 90% 120 ignore-reload
   refresh_pattern -i \.js$ 20 90% 120  reload-into-ims
   refresh_pattern -i \.htm$ 20 90% 120 reload-into-ims
   
   设置邮箱
   cache_mgr webmaster_breeze

 
   设置本地主机文件
   hosts_file c:/windows/system32/drivers/etc/hosts
   

 
7、安装服务
   将squid安装为服务,命令格式:squid -i [-f configfile] [-n servicename],如c:\squid\sbin\squid -i -n Squid_Proxy

 
8、初始化缓存目录 
   c:\squid\sbin\squid -z 
 
9、启动Squid_Proxy服务 
   运行services.msc打开服务窗口,选择Squid_Proxy服务 ,如果启动过程出错90%是配置文件出现问题。

 
10、squid命令 
   squid -k reconfigure  //启用新的配置文件 
   squid -k rotate       //截断日志 
   squid -k shutdown     //stop squid 
   squid -dx 当服务不能启动时,进行调试
更多配置请参见文档

 
四、SQUID测试
找一台机器进行测试,并查看access.log日志,如果出现 TCP_DENY的信息,多为配置不正确。如出现如下信息TCP_MEM_HIT/200 表示,SQUID已经起作用,该请求是从 SQUID运行机器的内存中响应的。

五、性能

用LR跑了一下,1000个并发,内存命中率在100%。下次把测试结果贴上。



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 9694