http://www.cnblogs.com/dahuandan/p/6765042.html
友情提示: 缓存模块是在动静分离的环境基础上搭建,动静分离可以参考http://www.cnblogs.com/dahuandan/p/6759212.html
介绍
提高网站响应速度是web应用不容忽视的目标,在之前动静分离的基础上,我们已经降低了后端服务器压力,提高了处理请求的性能,但是用户请求的静态资源是从硬盘读取,相比内存的性能还有很大的提高;
Nginx自带的缓存模块可以把静态资源缓存到内存中,提高了用户请求静态资源的速度,并且nginx自带缓存模块配置简单,使用灵活,搭配第三方插件可以实现手动清除指定的缓存。
配置
添加缓存模块
#创建缓存目录 mkdir /dev/shm/demo #进入nginx安装的conf目录 cd /usr/local/nginx/conf/ #打开nginx.conf文件添加以下内容: proxy_temp_path /dev/shm/transfer/proxy_temp_path; proxy_cache_path /dev/shm/transfer/proxy_cache_path levels=1:2 keys_zone=cache_one:6072m inactive=7d max_size=30g; proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie; proxy_cache cache_one; proxy_cache_valid 200 304 302 5d; proxy_cache_valid any 7d; proxy_cache_key $host$uri$is_args$args; add_header X-Cache '$upstream_cache_status from $host';
完整的配置文件
重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
测试
添加测试图片
在/usr/local/nginx/html/demo目录下添加测试图片test.png
测试缓存
1、当我们第一次访问测试图片地址 http://192.168.1.111/demo/test.png 是没有缓存命中的:
2、再次访 问http://192.168.1.111/demo/test.png 我们可以看到命中缓存了:
3、清除之前访问url的缓存: