8.Docker nginx开启gzip提升网站速度

网页内容的压缩编码与传输速度优化

查看一下浏览器的Request请求头是否存在:

Accept-Encoding: gzip, deflate

表明浏览器支持gzip压缩 和 deflate压缩

服务端也需要支持压缩格式

nginx需要配置才能支持压缩

原理:

  • 浏览器请求 ---> 声明可以接受 gzip压缩 或 deflate压缩
  • 服务器把内容用gzip方式压缩后响应 ---> 发给浏览器
  • 浏览器接受到gzip压缩后的内容 ---> 解码gzip ---> 浏览

gzip配置的常用参数:

官方文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html

gzip on|off;            # 是否开启gzip
gzip_buffers 32 4K|8K   # 缓冲(压缩在内存中缓冲几块?每块多大?)
gzip_comp_level [1-9]   # 推荐6, 压缩级别(级别越高,压缩越小, 但是越浪费CPU计算资源)
gzip_disable            # 正则匹配 UA 什么样的uri不进行gzip
gzip_min_length 4000     # 开始压缩的最小长度(再小就不要压缩了,意义不大)
gzip_http_version 1.0|1.1 # 开始压缩的 http协议版本
gzip_proxied            # 设置请求者是代理服务器,该如何缓存内容
gzip_types text/plain  application/xml   # 对哪些类型的文件用压缩,如:txt,xml,html,css
gzip_vary on|off;       # 是否传输gzip压缩标志

配置nginx的gzip参数:

server {
    # ...
    gzip on;
    gzip_buffers 32 4k;
    gzip_comp_level 6;
    gzip_min_length 4000;
    gzip_types text/css text/xml text/html application/x-javascript
    #...
}

测试nginx配置文件

docker exec mynginx nginx -t

重新加载配置文件

docker kill -s HUP mynginx

注意:

图片/mp3 这样的二进制文件,不必压缩

因为压缩率比较小,比如100->80字节,而且压缩也是耗费CPU资源

比较小的文件不必压缩

相关文章

感觉本篇文章不错,对你有收获?

¥我要小额赞助,鼓励作者写出更好的教程
80 160 120

作者:

  • 出处: https://www.mi360.cn/articles/25
  • 本文版权归作者,欢迎转载,但未经作者同意必须保留 此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

评论区

最新评论

扫码关注