nginx proxy_cache与Yslow查看

作者: lpj24 | 来源:发表于2015-01-26 16:01 被阅读162次

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

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

    我们看这些静态文件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查看

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

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

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

    相关文章

      网友评论

        本文标题:nginx proxy_cache与Yslow查看

        本文链接:https://www.haomeiwen.com/subject/bcpkxttx.html