通过脚本人为有选择性更新nginx的cache[原创]
nginx当下已经成了很热门的玩意了,nginx的cache大有替换squid的趋势,蚊子这边当下也用上了,nginx配置cache的我就不细说了,网上相关的文章挺多的
今天主要是表表nginx的清除cache的方法,nginx官方推荐的addones是Cache Purge Module,但蚊子配上发现并不是很好用,估计可能我没掌握要领吧,索性也不去理会了
闲来没事看了一下nginx的cache文件,发现和squid类似,都是hash的,那这样必然能在cache文件中找到想要的东西,于是就用strings看了一下,果然发现了缓存的页面,于是就有了下面的这个脚本
#! /bin/sh
###########################################
####
#### 用于清除nginx的cache的脚本
#### 编写日期: 2010-04-28
#### 版本: V1.0
#### 作者: wenzizone
####
###########################################cache_dir=/usr/local/nginx/proxy_cache
grep -ra $1 ${cache_dir} | awk -F':' '{print $1}' >/tmp/cache_list.txt
for file in `cat /tmp/cache_list.txt`
do
rm -f ${file}
donerm -f /tmp/cache_list.txt
将文件存成clear_cache.sh,并赋予可执行权限
使用方法1:清除所有.jpg的连接
/path/clear_cache.sh .jpg$
使用方法2:清楚所有www.wenzizone.cn域名的链接
/path/clear_cache.sh www.wenzizone.cn

四月 30th, 2010 at 09:20
记得有一个模块的
ngx_cache_purge
[回复]
深夜的蚊子 回复:
五月 14th, 2010 at 15:25
嗯,是有那么个模块,不过太麻烦了,而且我配了一下,不太会用,就算了
[回复]