CentOS 7.4 Tengine安装配置详解七

十六、缓存及缓存清理

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即可,会出现Successfulpurge提示

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

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native