码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS 7.4 Tengine安装配置详解(七)

时间:2018-06-12 14:48:58      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:tengine   cache   purge   

十六、缓存及缓存清理

1、修改node1配置文件nginx.conf

(1)http配置段中增加如下代码:

proxy_cache_path /usr/local/tengine/cache levels=1:1:2 keys_zone=mycache:200m inactive=15d max_size=100g;

备注:

?  levels=1:1:2表示1个字符的一级缓存目录和二级缓存目录,2个字符的三级缓存目录

?  keys_zone=mycache:200m表示缓存名称为mycache,内存缓存空间大小为200m

?  inactive=15d表示15天内没有被访问的内容会被自动清除

(2)在指定location配置段中增加如下代码:

server {

listen 80;

server_name node1.qiuyue.com;

       location / {

root html;

index index.html index.html;

       }

 

       location /bbs {

proxy_pass http://192.168.1.144/bbs;

index index.html index.html;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_cache mycache;

proxy_cache_key $host$uri$is_args$args;

# 将域名、URI、参数组合成缓存的Key值,再根据Key值哈希,存储缓存内容到缓存目录中

proxy_cache_valid 200 302 10m;

proxy_cache_valid 301 1h;

proxy_cache_valid any 1m;

proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;

add_header X-Cache $upstream_cache_status;

       }

}

备注:本地已有资源无需缓存,建议缓存后端服务器的资源


2、创建用于存储缓存的目录:# mkdir -pv /usr/local/tengine/cache


3、设置存储缓存目录的权限:# chown -R tengine:tengine /usr/local/tengine/cache


4、重载服务:# nginx -t  # nginx -s reload

技术分享图片


5、默认存储缓存的目录为空:# ls /usr/local/tengine/cache

技术分享图片


6、本地Windows 10首次访问http://node1.qiuyue.com/bbs(按F12进入调试模式),并查看缓存目录中的内容:

技术分享图片

技术分享图片


7、刷新页面,即本地Windows 10第二次访问http://node1.qiuyue.com/bbs

技术分享图片

备注:缓存已经命中


8、修改node2测试页内容:# echo "<h3>bbs on node2 new</h3>" > /var/www/html/bbs/index.html


9、刷新页面,依旧是缓存中的内容:

技术分享图片


10、清理缓存:

(1)动态加载ngx_cache_purge模块:

# cd /tmp

# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

# tar -xf ngx_cache_purge-2.3.tar.gz

# dso_tool --add-module=/tmp/ngx_cache_purge-2.3

# vim nginx.conf

dso {

load ngx_cache_purge_module.so;

}

(2)编辑location:            

location ~ /purge(/.*) {

       allow 192.168.1.0/24;

       deny all;

       proxy_cache_purge mycache $host$1$is_args$args;

       access_log off;

}

# nginx -t  # nginx -s reload  # nginx -m

(3)清理缓存

如果要清理http://node1.qiuyue.com/bbs/index.html的缓存,则访问http://node1.qiuyue.com/purge/bbs/index.html即可,会出现Successful purge的提示

备注:可以直接删除/usr/local/tengine/cache目录中的所有内容来达到清理缓存的目的,但是不建议这样操作。

CentOS 7.4 Tengine安装配置详解(七)

标签:tengine   cache   purge   

原文地址:http://blog.51cto.com/qiuyue/2128448

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!