Nginx开启Gzip

1.开启gzip

nginx实现资源压缩的原理是通过ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip压缩,该模块是默认基础的,不需要重新编译,直接开启即可。

2.参数配置

# 开启和关闭gzip模式
gzip on|off;
    
# gizp压缩起点,文件大于1k才进行压缩 
gzip_min_length 1k;

# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
gzip_comp_level 1;

# 进行压缩的文件类型。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript;

# nginx对于静态文件的处理模块,开启后会寻找以.gz结尾的文件,直接返回,不会占用cpu进行压缩,如果找不到则不进行压缩
gzip_static on|off

# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;

# 设置压缩所需要的缓冲区大小,以4k为单位,如果文件为7k则申请2*4k的缓冲区 
gzip_buffers 2 4k;

# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.1;

3.检测效果

  • nginx的response headers中的Content-Encoding是gzip
  • 返回文件大小明显被压缩

4.检测方法

  • 直接在浏览器通过开发者工具查看请求头、返回头等信息
  • 使用curl命令行
curl -I -H"Accept-Encoding: gzip, deflate" "http://www.example.com"
  • 站长工具中的网页Gzip检测

5.开启失败常规情况

  • 先检查gzip_types中是否包含需要的类型
  • 如果公司存在多层缓存机制,确认每一层都开启了gzip压缩
  • 开启 gzip_static on,确认服务器上是否存在.gz文件作者:caohaoyu链接:https://www.jianshu.com/
posted @ 2024-10-30 23:36  随缘的一个人  阅读(470)  评论(0)    收藏  举报