nginx服务器默认的缓存文件,配置Nginx 缓存服务器

@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

参照以下网址,在CentOS上安装Nginx

http://www.blogjava.net/jacky9881/archive/2016/02/19/429375.html

1.首先新建以下两个目录,用于存放缓存文件;

[root@localhost nginx]# mkdir -p /data/nginx/proxy_temp_path

[root@localhost nginx]# mkdir -p /data/nginx/proxy_cache_path

2.编辑nginx.conf文件

在http模块增加如下内容,指定缓存文件的存放路径:

proxy_temp_path /data/nginx/proxy_temp_path;

proxy_cache_path /data/nginx/proxy_cache_path levels=1:2 keys_zone=cache_one:20m inactive=1d max_size=3g ;

注:通过keys_zone来指定缓存区的名字,在接下来的location模块配置中需要用到;

20m是指定用于缓存的内存大小(由于本人虚拟机内存原因,设置了20M,生产环境中可以设置大一些,比如1G);

inactive=1d,代表缓存的数据如果超过一天没有被访问的话,则自动清除;

max_size=3g是指定用于缓存的硬盘大小(由于本人虚拟机内存原因,设置了3g,生产环境中可以设置大一些,比如50G);

levels=1:2指定该缓存目录中有两层hash目录,第一层目录为1个字母,第二层为2个字母,其中第一层目录名为缓存数据MD5编码的倒数第一个

字母,第二层目录名为缓存数据MD5编码的倒数2,3两个字母;

upstream local_tomcats {

server 192.168.8.132:8080;

server 192.168.8.130:8080;

}

修改location模块

location ~ \.(jsp|do)$ {

proxy_pass http://local_tomcats;

}

location / {

proxy_cache cache_one;

#定义http返回值为200和304,缓存时间12小时,如果12小时后,没有被访问,则自动被删除;

#200表示 服务器已成功处理了请求,304表示自从上次请求后,请求的网页未修改过

proxy_cache_valid 200 304 12h ;

proxy_cache_valid 301 302 1m ;

proxy_cache_valid any 10m ;

proxy_cache_key $host$uri$is_args$args;

proxy_ignore_headers X-Accel-Expires Expires  Set-Cookie Cache-Control;

proxy_hide_header Cache-Control;

proxy_hide_header Set-Cookie;

proxy_pass http://local_tomcats; #这个要设定,否则好像生成不了缓存文件

}

#用于清除缓存

location ~ /purge(/.*) {

allow 127.0.0.1;

allow 192.168.8.132;

deny all ;

proxy_cache_purge cache_one $host$1$is_args$args ;

}

在浏览器地址栏输入:http://www.hw.com/tomcat.png

查看缓存目录

[root@localhost nginx]# ls /data/nginx/proxy_cache_path/7/8a

b12ee1366ed4307aa6408a16286658a7

可以看到,缓存文件已经生成,注意缓存文件名最后三位和缓存文件夹的关系。

在浏览器地址栏输入:http://www.hw.com/purge/tomcat.png

页面显示如下信息,提示缓存文件已经被清除。

Successful purge

Key : www.hw.com/tomcat.png

Path: /data/nginx/proxy_cache_path/7/8a/b12ee1366ed4307aa6408a16286658a7

注意这里的Key,就是配置文件中定义 proxy_cache_key

查看缓存命中率

在location / 模块,增加如下代码

add_header  Nginx-Cache"$upstream_cache_status";

同时在http模块打开ngnix的日志功能,默认是关闭状态。

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"'

'"$upstream_cache_status"';

access_log  logs/access.log  main;

[root@localhost nginx]# ./sbin/nginx -s reload

在浏览器地址栏输入:http://www.hw.com/tomcat.png

重复刷新几次,打开日志文件 logs/access.log,可以看到HIT的字样,意味着缓存命中。

192.168.8.132 - - [08/Mar/2016:20:48:38 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"

192.168.8.132 - - [08/Mar/2016:20:48:40 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"

192.168.8.132 - - [08/Mar/2016:20:48:42 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值