Nginx配置---启用gzip压缩


一、开发环境

  • 版本: nginx/1.16.1。

二、配置实现

参数详解:

# 开启或关闭gzip模块(实时压缩输出)
gzip on|off;     

# 开启或关闭gzip静态文件处理模块(提前压缩,需要nginx中添加上http_gzip_static_module模块)
gzip_static on|off;

# 设置压缩缓冲区大小,例如"gizp_buffers 4 8k"就是设置为4个8k内存作为压缩结果数据流缓存
gzip_buffers number size;      

# 设置允许压缩的页面最小字节数; 页面字节数从header头中的Content-Length中进行获取,建议设置成大于1k,小于1k没有压缩的必要. 
gzip_min_length length;         

# 识别http的协议版本。可以不用配置。
gzip_http_version 1.0|1.1;

# 设置压缩比,可以是0到9中的任一个,级别越高,压缩结果就越小,但同时消耗CPU资源越高,一般折中取6
gzip_comp_level [1-9];

# 设置需要压缩的MIME类型,如果不在设置类型范围内的请求不进行压缩,线上配置时尽可能配置多的压缩类型。
gzip types mime-type [mime-type ...];

# Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。
gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any]

# 配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_disable "MSIE [1-6]\.";

# 增加vary头
gzip_vary on;

线上配置:

http {
    ...
    
    # gizp压缩配置
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain qpplication/x-javascript text/css application/xml text/javascript application/javascript application/json;
    gzip_disable "MSIE [1-6]";
    gzip_vary on;
    
    ...
}

三、最终效果

未启用gzip时,网站资源访问速度:
image

启用gizp后:
image

四、参考文档

1.Nginx中文文档–HttpGzip模块
2.Nginx性能优化功能- Gzip压缩(大幅度提高页面加载速度)


文章作者: Snail-Lu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Snail-Lu !
  目录