原创

Nginx如何开启gzip压缩


现在越来越多的网站在使用Nginx,因此Nginx的优化变得尤为重要,特别是Nginx的gzip压缩优化。

gzip (GNU-ZIP) 是一种压缩技术,经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样用户浏览页面的速度会快得多。gzip压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前绝大多数浏览器都支持解析gzip压缩过的页面。

在宝塔面板中,可以在网站设置里的配置文件最后的 } 前面,加入以下代码:

gzip on;     #开启gzip压缩
gzip_vary on;     #往头信息中添加压缩标识
gzip_min_length 1k;     #当返回内容大于此值时才会使用gzip进行压缩,当值为0时,所有页面都进行压缩
gzip_proxied any;     #nginx作为反向代理压缩服务端返回数据的条件,any为无条件压缩所有结果数据
gzip_comp_level 6;      #设置压缩等级,一般3-6即可,太高会占用服务器资源太多
gzip_buffers 16 8k;     #Nginx服务器需要向系统申请缓存空间为16个,每个缓存空间为8k
gzip_http_version 1.1;      #指定压缩响应所需要的最低HTTP请求版本
gzip_types 
  image/svg+xml text/plain text/xml text/css text/javascript application/xml application/json application/xhtml+xml application/rss+xml application/javascript application/x-javascript application/x-font-ttf application/vnd.ms-fontobject font/opentype font/ttf font/eot font/otf; #允许压缩的媒体类型
}

上述代码修改以后,实际上是在服务器的nginx.conf文件的http模块新增了上述内容。

很多网站分享了一段类似的代码,但其实是有问题的,在 gzip_types 压缩文件类型后面,有一个 text/html 这个文件类型要去掉,如果加进去的话,nginx重载配置会出错,具体解决办法请参考相关文章。

另外,对于压缩文件类型 gzip_types,jpg、gif、png 等常用图片类型已经是压缩格式,再次经GZIP压缩,不仅会增加服务器资源开销,甚至还可能使文件不仅没减少反而会增大。所以,只需添加:html 、css 、js、txt、xml等文本文档的压缩即可,我们就没有必要对图片进行gzip压缩。

上述几步设置完毕,我们还必须将nginx重载配置方可生效,或者在Linux命令行下执行以下命令:

nginx -t
nginx -s reload

以上就是Nginx开启gzip压缩的具体方法。

教程
  • 作者:管理员(联系作者)
  • 发表时间:2024-08-27 00:05
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公众号二维码