您的位置:首页 > 运维架构 > Nginx

通过脚本人为有选择性更新nginx的cache

2010-04-29 05:58 141 查看
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}
done

rm -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

 

转自 http://www.wenzizone.cn/?p=330
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息