Nginx支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相应的CPU资源。
Nginx对文件的压缩功能是依赖于模块ngx_http_gzip_module,官方文档: https://nginx.org/en/docs/http/ngx_http_gzip_module.html, 配置指令如下
#启用或禁用gzip压缩,默认关闭 gzip on | off;
#压缩比由低到高从1到9,默认为1,建议3-4 gzip_comp_level level;
#禁用IE6 gzip功能 gzip_disable "MSIE [1-6]\.";
#gzip压缩的最小文件,小于设置值的文件将不会压缩,默认1000Byte gzip_min_length 1k;
#启用压缩功能时,协议的最小版本,默认HTTP/1.1 gzip_http_version 1.0 | 1.1;
#指定Nginx服务需要向服务器申请的缓存空间的个数*大小,默认32 4k|16 8k; 32*4 gzip_buffers number size;
#指明仅对哪些类型的资源执行压缩操作;默认为gzip_types text/html,不用显示指定,否则出错 gzip_types mime-type ...;
#如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding” gzip_vary on | off;
配置
gzip on; gzip_comp_level 5; gzip_min_length 1k; gzip_types text/plain application/javascript application/x-javascript text/cssapplication/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary on;
验证不压缩访问的文件大小
验证压缩后访问的文件大小