Nginx 的 gzip
模块可以有效地压缩发送到客户端的数据,比如 HTML、CSS、JavaScript 文件等,以减少传输时间,提升页面加载速度。要配置 Nginx 以使用 gzip 压缩,你需要在 Nginx 的配置文件中(通常是 nginx.conf
或包含在其中的某个站点配置文件)进行以下设置。
以下是一个基本的 gzip 配置示例,你可以将其添加到你的 Nginx 配置文件中:
http {
# ... 其他配置 ...
# 开启 gzip
gzip on;
# 设置 gzip 压缩级别,1-9,9 压缩级别最高,最耗时
gzip_comp_level 6;
# 设置不需要压缩的资源类型
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# 设置 gzip 压缩的缓冲区大小
gzip_buffers 16 8k;
# 对特定的 HTTP 响应头进行压缩
gzip_http_version 1.1;
# 是否在http header中添加Vary: Accept-Encoding,以允许压缩的页面在代理服务器缓存
gzip_vary on;
# 禁用对 IE6 的 gzip 压缩
gzip_disable "MSIE [1-6].";
# 服务器级别的 gzip 配置结束
# ... 其他 http 块配置 ...
server {
# ... 服务器配置 ...
# 可以为每个 location 单独设置 gzip 配置,如果不设置则使用上面的全局配置
location / {
# 可以在这里设置特定的 gzip 配置,如果没有则继承全局配置
# 例如:gzip_comp_level 9; 仅为这个 location 设置更高的压缩级别
# ... 其他 location 配置 ...
}
# ... 其他 server 配置 ...
}
# ... 其他 server 块配置 ...
}
注意:
gzip_types
指令定义了哪些 MIME 类型的资源应该被压缩。根据你的网站需求,你可能需要添加或删除一些类型。gzip_comp_level
的值可以根据你的服务器性能和压缩时间的需求进行调整。gzip_disable
可以用来针对某些用户代理(如老旧的浏览器)禁用 gzip 压缩,因为它们可能不支持 gzip 压缩。- 在实际应用中,根据你的具体需求,可能还需要对配置进行调整。
最后,记得在修改配置后重新加载 Nginx 以使更改生效。可以使用 nginx -s reload
命令或 systemctl reload nginx
(取决于你的系统和服务管理方式)来重新加载 Nginx 配置。