squid quick start

系统rhel5
1)安装
cd / usr / local / src
wgethttp:
// www . squid- cache . org / Versions / v2 / 2.6 / squid- 2.6 . STABLE17 . tar . gz
tarxzvfsquid-
2.6 . STABLE17 . tar . gz
./ configure--enable-icmp--enable-htcp
make
makeinstall
如果操作系统自带squid 2.6,跳过此步
2)配置
squid 默认的配置文件拒绝每一个客户请求
# http_accessdenyall
改为:
http_accessallowall
3)初始化
安装完毕,初始化缓存目录
squid-zX
4)启动
squid-N-d1
5)测试suqid正向代理
配置你的浏览器使用squid 作为代理,然后打开某个web 页面。假如squid 工作正常,页面被迅速
载入,就象没使用squid 一样,这不是重点,关键进入下一步
6)配置反向代理
Suqid2.6和squid2.5在此有很大的变化,查了些资料,算是搞定
http_port 80 defaultsite = www . yourdomain . com
cache_peer
$ {theipofyourdomain}parent 80 0 no-queryoriginserver
重新启动
squid -k shutdown
squid
ok
7)缓存动态页面
但发现对动态的url无法缓存,请求日志总是:
X- Cache :MISSfromlocalhost . localdomain
于是在reponse的header里加上
Expires:${time}
终于发现:X-Cache: HIT from localhost.localdomain的字样,看来是生效了
但是对于带?的url还是没法缓存,于是
屏蔽下面3行
#hierarchy_stoplist cgi-bin ?
#acl QUERY urlpath_regex cgi-bin \?
#cache deny QUERY
再次测试 终于ok
我后来发现如果只是用Expires,无法利用浏览器的一些特性,如果强制刷新每次都要麻烦squid,
于是加上Last-Modified,此时浏览器在请求中加入If-Modified-Since
此时连squid都不用取缓存,而是给一个304让浏览器从本地取
本文旨在 squid快速上手,配置方面很粗糙,讲究精细的配置请参考官方文档
参看资料:

你可能感兴趣的:(算法,Web,cache,浏览器,cgi)