欢迎光临小鱼网个人网站!

登录/注册
nginx中gzip设置参数


一、总结

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压缩标志

注意:
图片/mp3这样的二进制文件,不必压缩
因为压缩率比较小, 比如100->80字节,而且压缩也是耗费CPU资源的,比较小的文件不必压缩

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

二、Nginx优化之gzip压缩提升网站速度

在nginx.conf中加入

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;

image.png

配置详解

# $gzip_ratio计算请求的压缩率,$body_bytes_sent请求体大小
    log_format  main  '$remote_addr - $remote_user [$time_local] "$host" - "$request" '
                    '$gzip_ratio - $body_bytes_sent - $request_time';
    access_log  logs/access.log  main;    # 开启gzip
    gzip off;    # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
    gzip_min_length 1k;    # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
    gzip_comp_level 1;    # 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;    # 禁用IE 6 gzip
    gzip_disable "MSIE [1-6]\.";    # 设置压缩所需要的缓冲区大小     
    gzip_buffers 32 4k;    # 设置gzip压缩针对的HTTP协议版本
    gzip_http_version 1.0;

注:gzip_proxied详解

Nginx做为反向代理的时候启用:

  • off – 关闭所有的代理结果数据压缩

  • expired – 如果header中包含”Expires”头信息,启用压缩

  • no-cache – 如果header中包含”Cache-Control:no-cache”头信息,启用压缩

  • no-store – 如果header中包含”Cache-Control:no-store”头信息,启用压缩

  • private – 如果header中包含”Cache-Control:private”头信息,启用压缩

  • no_last_modified – 启用压缩,如果header中包含”Last_Modified”头信息,启用压缩

  • no_etag – 启用压缩,如果header中包含“ETag”头信息,启用压缩

  • auth – 启用压缩,如果header中包含“Authorization”头信息,启用压缩

  • any – 无条件压缩所有结果数据

Syntax: gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
Default:    
gzip_proxied off;
Context:    http, server, location

Copyright © www.xyubing.com All Rights Reserved. 备案号:蜀ICP备19023461号-1

免责声明:本站部分资源搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。