nginx proxy_cache与Yslow查看

对于网站的静态文件 如css  js或者静态图片这些不会经常更新的数据我们通常缓存在客户端  每次当客户端访问的时候从客户端下载文件 减少了与服务器的交互  加快用户的访问速度 , 下面介绍nginx的缓存机制proxy_cache

先在火狐浏览器安装firebug  和Yslow插件  打开firebug和要访问的页面  Yslow  runtest


nginx proxy_cache与Yslow查看_第1张图片

我们看这些静态文件expires的状态都是no expires没有缓存的 我们去修改nginx的配置文件  使其缓存到客户端

首先添加缓存的临时文件   这个指令配置缓存数据的存放路径  只能放在http块中

proxy_cache_path /usr/local/wcloud_ngx/cache/static levels=1 keys_zone=static:10m;  #keys_zone是给路径取的别名  在配置文件中使用

然后去配置反向代理的文件添加相关指令

server {

    listen    80;

   server_name www.*****.com;    #域名

   proxy_buffering on;                 #开启缓冲,proxy_cache是依赖于缓冲的

   proxy_buffers 8 8k;                 #缓冲的大小

   proxy_buffer_size 8k;             

   proxy_busy_buffers_size 16k;

    proxy_temp_path /usr/local/wcloud_ngx/buffer_temp;   #缓冲路径  存放代理服务器大体积响应数据 

    proxy_temp_file_write_size 16k;

   gzip on;

  #gzip_types text/plain text/html application/x-javascript text/css application/xml;

   gzip_vary on;

   location / {

        proxy_cache static;              #存放缓存索引区域名称

        proxy_cache_key $scheme$proxy_host$uri$is_args$args;   #缓存建立索引关键字 默认

        expires 1d;                          #客户端缓存时间  1天

        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://127.0.0.1:3000;     #反向代理

}

}

配置完成之后  -t检测配置文件的正确性  然后重启nginx服务

然后再次访问网站  使用Yslow查看


nginx proxy_cache与Yslow查看_第2张图片


我们发现都有了缓存时间  然后可以使用firebug的网络比较一下前后的访问速度  当然Yslow还提供了一些关于静态文件的优化建议

当然nginx还有很多的缓存方式  如squid ncache(新浪)

当然还有要注意的就是如果你的网站里面有验证码,虽然从后台取出的是base64位的数据展现在前台也是静态图片  也会被缓存下来  第二次刷新之后验证码图片是不回变的

你可能感兴趣的:(nginx proxy_cache与Yslow查看)