返回顶部
首页 > 资讯 > 服务器 >Nginx的gzip指令使用小结
  • 653
分享到

Nginx的gzip指令使用小结

2024-04-02 19:04:59 653人浏览 薄情痞子
摘要

目录简介说一段废话背景指令介绍gzipgzip_static易错点提示简介 GZIP顾名思义,就是将文件压缩传输。图片、视频、大文件不建议使用压缩,压缩需要占用你的服务器资源,压缩完

简介

GZIP顾名思义,就是将文件压缩传输。图片、视频、大文件不建议使用压缩,压缩需要占用你的服务器资源,压缩完效果也不大。文章出现很多图片的话,我建议使用图床来存放你的图片。文章给大家介绍Nginx的gzip指令。

说一段废话

压缩响应数据有什么作用呢?问的好:从用户体验和IT成本两方面回答这个问题:

  • 用户体验上

网速一定的情况下,传输5MB数据比传输10MB数据的时间快了一半。所以传输数据越小用户加载页面就越快,当然相比较之下体验会更好。

  • IT成本上

对这个场景来说的成本主要是带宽成本, 数据不压缩那么传输这些数据相应的带宽肯定更大,对比之下压缩耗费的CPU资源在带宽费用上不值一提。

所以你有什么理由不用压缩呢?

背景

当然Nginx也提供了gzip的压缩方式可以使用,但是在日常的工作中我发现或多或少在使用上有些问题,有点像:用了但又好像没用的感觉。 这篇就记录一下gzip的使用方式和易错点。

指令介绍

gzip

gzip指令来自 ngx_Http_gzip_module 模块,提供的核心能力就是压缩响应数据。

该模块下提供的指令如下:

gzip                on;     # 开启gzip
gzip_comp_level     6;      # 压缩等级:1-9 1:压缩最快/CPU消耗最少/压缩率最低 以次类推
gzip_min_length     1000;   # 小于此大小的数据不压缩(单位字节/byte);数据来源"Content-Length"头
gzip_buffers        32 4k;  # 压缩响应的缓冲区数量和大小(4K 内存页大小取决于平台)
gzip_proxied        any;    # 对代理的请求是否开启压缩
gzip_types text/plain application/xml application/javascript application/x-javascript text/CSS application/JSON;    # 哪些类型的数据需要被压缩
gzip_disable     "MSIE [1-5]\.";    # User-Agent 被正则匹配到的不开启压缩
gzip_vary on;               # 当gzip对请求生效时会被添加一个响应头 "Vary: Accept-Encoding"

tips:

  1. gzip 是动态压缩: 每个请求在被响应时都会在gzip逻辑内走一遍
  2. 压缩等级不是越高越好: 压缩到一定程度后就会吃力不讨好, 从js测试来看性价比最高的级别是 5或6
  3. buffer大小设置最好是和平台的内存页保持一致: getconf PAGE_SIZE
  4. gzip_types不要瞎写: 写压缩率大的(css/js/xml/json/ttf), image图片就不要写了,压缩空间太小,又耗CPU

gzip_static

gzip_stati指令来自 ngx_http_gzip_static_module模块,提供的核心能力是静态/预压缩

该模块提供的指令如下:

gzip_static on|off|always;  # always: 不管客户端是否支持压缩我他妈全部给你压缩之后给你

tips:

  1. 可以复用gzip_module中以下的指令:

gzip_http_version, gzip_proxied, gzip_disable, gzip_vary

  1. gzip_static是静态压缩:意思是你的服务端需要同时存在源文件和使用gzip压缩后的源文件,这时请求的时候会优先吧压缩文件返回,这样就不用再耗费CPU去动态压缩了。(视情况来用,我们没用)
  2. 可以和gzip一同开启,没啥影响,它的优先级高于gzip

易错点提示

在实际的生产环境中架构都比较负载,不像一个单纯的Nginx一样,我配置好了就万事大吉了。

时常会遇到有些网站明明配置了gzip但是展示上看并没有生效,为什么?

此时需要梳理这个请求流程,看看这个请求都经过了哪些地方,比如 你的请求通过三次代理(CDN-->Nginx-->Nginx)那么在其中一层没有配置或者配置错误那么整体的返回数据就是没有被压缩的, 这种情况出现还是比较多的。

到此这篇关于Nginx的gzip指令使用小结的文章就介绍到这了,更多相关Nginx的gzip指令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Nginx的gzip指令使用小结

本文链接: https://lsjlt.com/news/148237.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Nginx的gzip指令使用小结
    目录简介说一段废话背景指令介绍gzipgzip_static易错点提示简介 GZIP顾名思义,就是将文件压缩传输。图片、视频、大文件不建议使用压缩,压缩需要占用你的服务器资源,压缩完...
    99+
    2024-04-02
  • Nginx Gzip模块启用和配置指令有哪些呢
    Nginx Gzip模块启用和配置指令有哪些呢,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这篇文章主要介绍了Nginx Gzip模块启用和配置指令详解的,需要...
    99+
    2023-06-05
  • Linux gzip 命令的使用
    1.命令简介 gzip(GNU zip)命令用来压缩和解压缩文件,是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,采用 LZ77 无损压缩算法,压缩后的文件一般使用 .gz 后缀。 gzip 不...
    99+
    2022-06-03
    Linux gzip Linux gzip命令
  • Linux gzip命令怎么使用
    这篇文章主要介绍“Linux gzip命令怎么使用”,在日常操作中,相信很多人在Linux gzip命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux gzip命令怎么使用”的疑惑有所帮助!...
    99+
    2023-06-28
  • nginx配置指令之server_name的具体使用
    目录前言server_name指令精确匹配配置 通配符模式配置正则表达式配置server_name与host匹配优先级如下:如果都不匹配前言 作为nginx的http模块中...
    99+
    2022-11-13
    nginx server_name
  • Angular的结构指令如何使用
    这篇文章主要介绍“Angular的结构指令如何使用”,在日常操作中,相信很多人在Angular的结构指令如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Angular的...
    99+
    2024-04-02
  • nginx 配置指令之location使用详解
    目录前言配置策略具体属性介绍Nginx是支持世界上所有网站三分之一的Web服务器。因为轻巧,模块化,用户友好的配置格式以强大的反向代理能力,Nginx迅速取代其他Web服务器成了互联...
    99+
    2024-04-02
  • Linux 日常常用指令及应用小结
    最近搞了一个阿里ECS,CentOS7,涉及到一些基本的Linux指令,在这里总结一下,在搭环境中常用的一些指令,熟悉这些指令就基本能够使用CentOS进行日常操作了。    更多的可以参考系统自带的 “...
    99+
    2022-06-04
    小结 指令 日常
  • 怎么在linux中使用gzip命令
    怎么在linux中使用gzip命令?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.命令格式:gzip[参数][文件或者目录]2.命令功能:gzip是个使用广泛的压缩程序,...
    99+
    2023-06-13
  • linux gzip压缩命令如何使用
    这篇文章主要介绍“linux gzip压缩命令如何使用”,在日常操作中,相信很多人在linux gzip压缩命令如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux gzip压缩命令如何使用”的疑...
    99+
    2023-07-04
  • Nginx的try_files指令详解
    Nginx的try_files指令详解 顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。 注:只有最后一...
    99+
    2023-09-01
    nginx 运维
  • 关于Linux的curl指令使用总结
    目录Linucurl指令发送GET请求curl指令发送POST请求curl命令解读总结linux的curl指令使用 curl指令发送GET请求 格式如下: curl -H [header参数] -XGET URL 假设U...
    99+
    2023-04-03
    Linux的curl指令 curl指令使用 curl指令
  • dockerfile-maven-plugin使用指南小结
    目录pom配置setting.xml配置登录情况需要登录无需登录maven多模块情况配置jenkinsjenkins服务器安装docker修改jenkins项目配置最近在将应用部署到...
    99+
    2024-04-02
  • linux中叹号命令(!)的使用小结
    前言 最近公司配置了mbp,平时的ssh用的多了,实在是懒得写那些复杂的命令,网上搜到了一个命令,觉得比较适合自己。 '!'符号在linux中不但可以用作否定符号,还可以用来从历史命令记录中取出命令或不加修改的执行之前运...
    99+
    2022-06-04
    linux常用命令 linux 叹号 linux 两个叹号是什么命令?
  • Linux基础命令gzip的用法
    本篇内容介绍了“Linux基础命令gzip的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!gzipgzip通过Lempel-ziv算法来...
    99+
    2023-06-06
  • 怎么使用Nginx作反向代理配置GZip压缩
    这篇文章主要介绍了怎么使用Nginx作反向代理配置GZip压缩的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Nginx作反向代理配置GZip压缩文章都会有所收获,下面我们一起来看看吧。前提条件: nod...
    99+
    2023-07-04
  • NGINX最常用的指令(最全的查询)
    服务管理 sudo systemctl status nginx # nginx当前状态 sudo systemctl reload nginx # 重新加载 nginx sudo systemctl restart nginx # 重启n...
    99+
    2023-10-25
    nginx 服务器 运维
  • beeline的常用命令小结
    本篇内容主要讲解“beeline的常用命令小结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“beeline的常用命令小结”吧! &l...
    99+
    2024-04-02
  • Nginx的mirror指令示例配置
    目录mirror 流量复制有什么实际用处?举个实际使用的例子:灰度验证注意点mirror 流量复制 Nginx的 mirror 指令来自于 ngx_http_mirror_modul...
    99+
    2024-04-02
  • Linux的gzip和zcat命令怎么用
    这篇文章主要为大家展示了“Linux的gzip和zcat命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux的gzip和zcat命令怎么用”这篇文章吧。gzip, zcat 命令[...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作