### 开启gzip 在`nginx.conf`的`http`模块中配置一下内容 ```shell gzip on; #开启gzip压缩功能 gzip_min_length 1024; #最小压缩文件为1k gzip_buffers 4 16k; #压缩缓存空间大小 gzip_comp_level 4; #压缩级别为4 gzip_types text/plain application/javascript text/css application/xml #压缩文件类型 gzip_vary on; #开启压缩表示 ``` 这里的压缩级别建议设置为 4 左右,压缩级别越大,压缩率越高,CPU的压力越大,所以适当的压缩即可。 配置之后重启`nginx`即可。如果成功,可以看到响应头有`gzip`的标志。 ![](/upload/156274197.jpg) ### gzip配置说明 |名称|默认配置|作用域|描述|模块| | :------------ | :------------ | :------------ | :------------ | :------------ | :------------ | |gzip | gzip off; | http, server, location, if in location | 设置是否开启对后端响应的gzip压缩,然后返回压缩内容给前端 | ngx_http_gzip_module | |gzip_buffers | gzip_buffers 32 4k或16 8k; |http, server, location|设置用于压缩后端response的buffer的数量和每个的大小,默认每个buffer大小为一个内存页,根据平台不同可能是4k或8k | ngx_http_gzip_module | |gzip_comp_level |gzip_comp_level 1; | http, server, location |指定gzip压缩的级别,默认为1,该值可设置的范围是1-9,1为最小化压缩(处理速度快),9为最大化压缩(处理速度慢),数字越大压缩的越好,也越占用CPU时间 | ngx_http_gzip_module | | gzip_disable | 没有默认值 | http, server, location |正则匹配User-Agent中的值,匹配上则不进行gzip |ngx_http_gzip_module | | gzip_min_length |gzip_min_length 20; | http, server, location | 设定进行gzip压缩的阈值,当后端response的Content-Length大小小于该值则不进行gzip压缩 | ngx_http_gzip_module | | gzip_http_version | gzip_http_version 1.1; | http, server, location |设定进行gzip压缩的最小http版本 | ngx_http_gzip_module | | gzip_proxied | gzip_proxied off; | http, server, location | 根据request或响应的相关header的值来决定是否进行gzip | ngx_http_gzip_module | |gzip_types | gzip_types text/html; | http, server, location | 指定哪些mime types启用gzip压缩,默认text/html |ngx_http_gzip_module | | gzip_vary | gzip_vary off; | http, server, location | 是否往response header里头写入Vary: Accept-Encoding | ngx_http_gzip_module| |gzip_static |gzip_static off; |http, server, location | 开启之后,接到(静态文件)请求会到url相同的路径的文件系统去找扩展名为”.gz”的文件,如果存在直接把它发送出去,如果不存在,则进行gzip压缩,再发送出去 | ngx_http_gzip_static_module |