0%

Nginx 开启 Gzip 压缩

前言

本站创建之初,我没怎么对网站的加载速度进行优化,最近才注意到本站首次打开(没有缓存)需要4到5秒的时间,对于这个没多少东西的破站来说4秒简直可怕!

听说对网站进行 Gzip 压缩可以减少网站的加载时间,所以今天皮皮配置了下 Nginx ,对本站进行了 Gzip 压缩,不压不知道,一压吓一跳,这一压直接把我这破站的加载时间减少到了2.x秒。

查询网站是否进行了 Gzip 压缩:网页GZIP压缩检测-站长之家

开启 Gzip 其实很简单,我的云服务器使用了 Nginx 作为反向代理,所以本文使用 Nginx 进行演示。


正文

添加配置

我们打开 Nginx 的配置文件 nginx.conf ,在 http 区块下添加以下代码并保存:

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";

重载 Nginx

nginx -s reload

配置参数详解

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

欢迎关注我的其它发布渠道