Nginx 开启 Gzip 压缩
本文最后更新于:2021年11月18日 晚上
前言
本站创建之初,我没怎么对网站的加载速度进行优化,最近才注意到本站首次打开(没有缓存)需要4到5秒的时间,对于这个没多少东西的破站来说4秒简直可怕!
听说对网站进行 Gzip 压缩可以减少网站的加载时间,所以今天皮皮配置了下 Nginx ,对本站进行了 Gzip 压缩,不压不知道,一压吓一跳,这一压直接把我这破站的加载时间减少到了2.x秒。
查询网站是否进行了 Gzip 压缩:网页GZIP压缩检测-站长之家
开启 Gzip 其实很简单,我的云服务器使用了 Nginx 作为反向代理,所以本文使用 Nginx 进行演示。
正文
添加配置
我们打开 Nginx 的配置文件 nginx.conf ,在 http 区块下添加以下代码并保存:
1 |
|
重载 Nginx
1 |
|
配置参数详解
Nginx 官方文档:Module ngx_http_gzip_module
gzip
启用或禁用 Gzip 压缩。
语法:gzip on | off;
默认值:off
作用域:http, server, location, if in location
gzip_buffers
设置用于处理请求压缩的缓冲区数量和大小。
语法:gzip_buffers number size;
默认值:32 4k|16 8k
作用域:http, server, location
gzip_comp_level
设置 gzip 压缩等级(1~9),级别越高压缩率越高,压缩时间越长。
语法:gzip_comp_level level;
默认值:1
作用域:http, server, location
gzip_disable
设置不进行压缩 UA 请求头。
语法:gzip_disable regex …;
默认值:无
作用域:http, server, location
gzip_http_version
设置压缩所需的最低 HTTP 版本。
语法:gzip_http_version 1.0 | 1.1;
默认值:1.1
作用域:http, server, location
gzip_min_length
设置需要压缩的最低大小。
语法:gzip_min_length length;
默认值:20
作用域:http, server, location
gzip_proxied
Nginx做为反向代理的时候启用。
语法:gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any …;
默认值:off
作用域:http, server, location
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 – 无条件压缩所有结果数据
gzip_types
设置需要进行压缩的 MIME 类型。
语法:gzip_types mime-type…;
默认值:text/html
作用域:http, server, location
gzip_vary
启用或禁用插入 “Vary: Accept-Encoding” 响应头。
语法:gzip_vary on | off;
默认值:off
作用域:http, server, location