返回列表 发帖

CentOS6_Nginx缓存

笺注:这是在 CentOS6_Nginx反向代理+负载均衡(ip_hash) 的基础上进行的。


Nginx缓存,会使客户端访问网站网页的速度有所提升;但客户端看到的网页内容会出现更新延迟!



配置缓存要在Nginx的主配置文件里面修改三个地方:

[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
用到的代码:
proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:500m inactive=3m max_size=30g;

add_header X-Via $server_addr;
add_header X-Cache $upstream_cache_status;

proxy_cache webserver;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;

图片1.png

图片2.png


注释:
proxy_cache_path 指定缓存文件存放的目录;

levels=1:2 表示该缓存空间有两层hash目录,第一层目录的名称为一个字符,第二层目录的名称为两个字符;

keys_zone=webserver:500m 表示缓存区的名字为webserver,其内存缓存空间大小为500MB;

inactive=3m max_size=30g 表示缓存数据在3分钟内没有被访问,将被自动删除;硬盘缓存空间最大为30GB;

proxy_cache_valid 200 302 10m 表示200、302状态的URL缓存的超时时间为10分钟;

proxy_cache_valid 404 1m 表示404状态的URL缓存的超时时间为1分钟;






创建缓存目录:(要先创建缓存目录,再重启Nginx,反之会报错)
mkdir -pv /data/nginx/cache/webserver
图片3.png


重启Nginx服务,使更改生效:
[root@localhost ~]# service nginx restart


笺注:
只要有客户端通过Nginx代理服务器访问网站,那么在Nginx代理服务器上就可以看到有缓存文件产生。
inactive 参数指定的时间内,如果有缓存数据存在,那么客户端看到的是缓存数据。
inactive 参数指定的时间后,如果缓存数据没有被请求,会自动清除。
如果缓存数据不断地被请求,在 inactive 参数指定的时间后,缓存数据则会一直存在,客户端看到的也是缓存数据。


在Nginx代理服务器上查看缓存文件:
图片4.png


缓存文件是可以手动删除的,删除后,客户端可以马上看到更新了的页面内容:
rm -rf /data/nginx/cache/webserver/*
图片5.png


当有客户端再次通过Nginx代理服务器访问网站,缓存文件会自动重新生成:
图片6.png





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^

FaSoLa户外便携吊床秋千室内单双人大学生宿舍家用成人儿童睡觉椅
dianzi.png

FaSoLa 旅行晾衣架 旅游便携式折叠衣架出差多功能衣挂小撑子晾晒
yijia.png

返回列表