nginx压缩静态和页面缓存

源于蚂蚁课堂的学习,点击这里查看

1.对静态资源进行压缩

所谓静态压缩,就是对js和css做压缩,常见的做法是去掉空白和注释,使其尽可能轻量级。
而nginx做的更绝,它通过字典的方式,约定了一些js和css的关键字,如(假设:将function变为一个字母a)。
通过这种方式压缩静态资源,然后减少带宽的传输,然后通过约定渲染的时候按照字典对应的规则还原js,从而提升响应速度

配置方法 

在nginx对应的server中配置如下信息:

gzip on;
gzip_buffers 32 4K;
gzip_comp_level 6;
gzip_min_length 100;
gzip_types application/javascript text/css text/xml;
gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_vary on;



参数说明:
gzip配置的常用参数
gzip on|off;  #是否开启gzip
gzip_buffers 32 4K| 16 8K #缓冲(压缩在内存中缓冲几块? 每块多大?)
gzip_comp_level [1-9] #推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)
gzip_disable #正则匹配UA 什么样的Uri不进行gzip
gzip_min_length 200 # 开始压缩的最小长度(再小就不要压缩了,意义不在)
gzip_http_version 1.0|1.1 # 开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议)
gzip_proxied          # 设置请求者代理服务器,该如何缓存内容
gzip_types text/plain application/xml # 对哪些类型的文件用压缩 如txt,xml,html ,css
gzip_vary on|off  # 是否传输gzip压缩标志

2.页面缓存

对于商品详情复杂的系统,可以通过nginx将页面进行缓存至本地文件,即根据访问url将对应的页面保存至本地,
这样页面的响应就不会那么卡慢
   # 代理缓存配置
   proxy_cache_path "./yxh_cachedata"  levels=1:2 keys_zone=yxhcache:256m inactive=1d max_size=1000g; 

    server {
        listen       80;
        server_name  localhost;

        # 静态资源文件压缩
        gzip on;
	    gzip_buffers 32 4K;
	    gzip_comp_level 6;
        gzip_min_length 100;
	    gzip_types application/javascript text/css text/xml;
        gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
        gzip_vary on;

        location /detail {
		   #使用缓存名称
           proxy_cache yxhcache;
		   #对以下状态码实现缓存
           proxy_cache_valid 200 206 304 301 302 1d;
		   #缓存的key
           proxy_cache_key $request_uri;
           add_header X-Cache-Status $upstream_cache_status;
           proxy_pass   http://127.0.0.1:8080;
           index  index.html index.htm;
        }

#
		location /list{
           proxy_pass   http://127.0.0.1:8080;
           index  index.html index.htm;
        }

     
       
    }
原创文章 148 获赞 258 访问量 11万+

猜你喜欢

转载自blog.csdn.net/yxh13521338301/article/details/105856109