ngx_slowfs_cache:Module adding ability to cache static files。 通过 ngx_slowfs_cache 将静态文件缓存到要地磁盘后,访问速度将明显改善。而且通常缓存是先放到内存中,从内存中命中自然要比硬盘上命中快很多了。
ngx_slowfs_cache 模块同时也提供了“cache_purge”功能,用于清除指定URL的缓存。
设置缓存区域 slowfs_temp_path path [level1] [level2] [level3] (context: http)
ngx_slowfs_cache 的安装 如果是已经安装好的nginx,可以通过平滑升级来添加该模块。
4、执行编译安装 make && make install
ngx_slowfs_cache 配置举例:
复制代码代码如下:
slowfs_temp_path /usr/local/nginx/temp;(temp与cache路径一直)
server
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|htm|html)$
# location ~ /purge(/.*) {
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
location ~ .*\.(js|css)?$
slowfs_cache 可以用loation路径或者文件的类型来定义缓存
复制代码代码如下:
location / {
slowfs_cache cache_one; slowfs_cache_key $uri; slowfs_cache_valid 1d; }
B:
复制代码代码如下:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|htm|html)$
{ slowfs_cache cache_one; slowfs_cache_key $uri; slowfs_cache_valid 1d; }
经测试,写法A只能缓存html等静态文件,无法缓存图片,可以用purge模块删除缓存。
因为是做图片服务器,所以这里采用写法B,没用purge模块,可以通过脚本来删除指定缓存。
复制代码代码如下:
#vi flush_cache
#!/bin/bash if [ -n "$1" ] then grep -ra "^KEY" /usr/local/nginx/img/ | grep "$1$" | awk -F[:] '{print $1}' | xargs rm -rf else echo Operating is wrong fi
要删除http://test.com/img/432.jpg,则执行 缺点是如果缓存很大,删除会比较慢。 (责任编辑:IT) |