Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Nginx开启资源压缩模块gzip

Nginx开启资源压缩模块gzip

作者头像
Petrochor
发布于 2023-04-01 01:56:21
发布于 2023-04-01 01:56:21
1.4K00
代码可运行
举报
文章被收录于专栏:StephenStephen
运行总次数:0
代码可运行

介绍

如果一个静态资源的Size越小,那么自然传输速度会更快,同时也会更节省带宽,因此我们在部署项目时,也可以通过Nginx对于静态资源实现压缩传输,一方面可以节省带宽资源,第二方面也可以加快响应速度并提升系统整体吞吐。

Nginx 也提供了三个支持资源压缩的模块 ngx_http_gzip_modulengx_http_gzip_static_modulengx_http_gunzip_module ,其中 ngx_http_gzip_module 属于内置模块,代表着可以直接使用该模块下的一些压缩指令,后续的资源压缩操作都基于该模块,先来看看压缩配置的一些参数/指令。

参数项

释义

参数值

gzip

开启或关闭压缩机制

on/off

gzip_types

根据文件类型选择性开启压缩机制

image/png text/cs5…

gzip_comp_level

用于设置压缩级别,级别越高越耗时

1~9(越高压缩效果越好,资源消耗也越大)

gzip_vary

设置是否携带Vary:Accept-Encoding头域的响应头部

on/off

gzip_buffers

设置处理压缩请求的缓冲区数量和大小

数量大小,如16 8k

gzip_disable

针对不同客户端的请求来设置是否开启压缩

如.Chrome.

gzip_http_version

指定压缩响应所需要的最低HTTP请求版本

如1.1

gzip_min_length

设置触发压缩的文件最低大小

如512k

gzip_proxied

对于后端服务器的响应结果是否开启压缩

off、expired、no-cache……

用法

以下是一个网站开启 gzip 资源压缩之前的效果,可见资源很大,加载时间也很长。

开启gzip

vim /user/local/nginx/conf/nginx.conf

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http{
    # 开启压缩机制
    gzip on;
    # 指定会被压缩的文件类型(也可自己配置其他类型)
    gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    # 设置压缩级别,越高资源消耗越大,但压缩效果越好
    gzip_comp_level 5;
    # 在头部中添加Vary: Accept-Encoding(建议开启)
    gzip_vary on;
    # 处理压缩请求的缓冲区数量和大小
    gzip_buffers 16 8k;
    # 对于不支持压缩功能的客户端请求不开启压缩机制
    gzip_disable "MSIE [1-6]\."; # 低版本的IE浏览器不支持压缩
    # 设置压缩响应所支持的HTTP最低版本
    gzip_http_version 1.1;
    # 设置触发压缩的最小阈值
    gzip_min_length 5k;
    # 关闭对后端服务器的响应结果进行压缩
    gzip_proxied off;
}

重启nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 验证nginx配置语法是否有误
nginx -t
# 重启nginx
nginx -s reload

效果

可见资源已小了很多,速度也有了明显的提升。

出现 Content-Encoding: gzip 说明该资源已使用 gzip 资源压缩

结语

gzip_proxied 选项

参数值

说明

off

关闭Nginx对后台服务器的响应结果进行压缩

expired

如果响应头中包含Expires信息,则开启压缩

no-cache

如果响应头中包含Cache-Control:no-cache信息,则开启压缩

no-store

如果响应头中包含Cache-Control:no-store信息,则开启压缩

private

如果响应头中包含Cache-Control:private信息,则开启压缩

no_last_modified

如果响应头中不包含Last-Modified信息,则开启压缩

no_etag

如果响应头中不包含ETag信息,则开启压缩

auth

如果响应头中包含Authorization信息,则开启压缩

any

无条件对后端的响应结果开启压缩机制

注意:

图片、视频类似的二进制资源文件,会默认开启压缩机制,因此一般无需再次开启压缩。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/03/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nginx gzip参数详解及常见问题
Nginx实现资源压缩的原理是通过ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip,ngx_http_gzip_module是Nginx默认集成的,不需要重新编译,直接开启即可。
可定
2020/04/20
1.3K0
nginx gzip配置参数解读
本文主要解析一下nginx ngx_http_gzip_module以及ngx_http_gzip_static_module中的gzip相关配置参数。
code4it
2018/09/17
1.4K0
Nginx ngx_http_gzip_module模块详解(六)
ngx_http_gzip_module 模块功能 用gzip方法压缩响应数据,节约带宽 1、gzip on | off; 启用或禁用gzip压缩 可用位置:http, server, location, if in location 2、gzip_comp_level level; 压缩比由低到高:1 到9默认:1 可用位置:http, server, location 3、gzip_disable regex ...; 匹配到客户端浏览器不执行压
咻一咻
2020/05/29
8450
008.Nginx静态资源
Nginx作为静态资源Web服务器部署配置, 传输非常高效, 常常用于静态资源处理,请求以及动静分离。通常非服务器动态运行生成的文件属于静态资源。
木二
2020/07/16
1.5K0
nginx开启gzip压缩
nginx对于静态文件的处理模块 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。该模块启用后,nginx首先检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容。为了要兼容不支持gzip的浏览器,启用gzip_static模块就必须同时保留原始静态文件和gz文件。这样的话,在有大量静态文件的情况下,将会大大增加磁盘空间。我们可以利用nginx的反向代理功能实现只保留gz文件。
无道
2021/06/29
2.3K0
Nginx手册:Gzip压缩模块详解
Nginx中的Gzip模块,支持在线实时压缩输出数据流。有利于减少访问网站过程中传输的数据量,从而减少带宽资源的占用率。
魏杰
2022/12/23
1.4K0
Nginx演练(3)配置内容压缩
比如访问“www.jd.com",一个完整页面的访问,往往会经过很多次的HTTP请求共同完成,这中间会涉及到浏览器并发数。具体片段如图
py3study
2020/01/06
3460
Nginx 静态资源部署
上网去搜索访问资源对于我们来说并不陌生,通过浏览器发送一个 HTTP 请求实现从客户端发送请求到服务器端获取所需要内容后并把内容回显展示在页面的一个过程。这个时候,我们所请求的内容就分为两种类型,一类是静态资源、一类是动态资源。
用户9615083
2022/12/25
5.8K0
Nginx 静态资源部署
Nginx---静态资源处理
前面我们已经对Nginx服务器默认配置文件的结构和涉及的基本指令做了详细的阐述。通过这些指令的合理配置,我们就可以让一台Nginx服务器正常工作,并且提供基本的web服务器功能。
大忽悠爱学习
2021/12/08
2.9K0
Nginx---静态资源处理
Nginx数据压缩配置
gzip_typestext/css text/xml image/gif image/jpeg image/png application/javascriptimage/x-ms-bmp application/pdf text/plain application/jsonapplication/xhtml+xml;
BUG弄潮儿
2022/06/30
6560
Nginx之gzip模块解读
gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。目前主流的浏览器,Chrome,firefox,IE等都支持该协议。常见的服务器如Apache,Nginx,IIS同样支持gzip。
一个风轻云淡
2023/09/23
7940
Nginx服务器的压缩功能
在Nginx服务器配置文件中可以通过配置Gzip的使用,可以配置在http块,server 块或者location块中设置,Nginx服务器可以通过ngx_http_gzip_module模块、ngx_http_static_module 模块功能ngx_http_gunzip_module模块对这些指令进行分析和处理。今天看看ngx_http_gzip_module模块的使用
BUG弄潮儿
2020/06/15
1.8K0
Nginx服务器的压缩功能
Nginx优化
业务运行:线上业务正常运行,承载了公司业务。 监控业务:通过监控业务对线上业务进行监控,及时发现问题。 优化业务:通过监控分析,发现业务问题或者瓶颈,及时对业务或者软件就行调整、优化。 测试优化:优化完成后,需要对现有的优化进行测试,保证业务在当前优化模式中稳定、高效,能够解决当前问题。 这就是业务运行的一个流程,也是我们保证业务稳定、高效、高可用的运维之道。
星哥玩云
2022/09/15
3340
Nginx优化
『学习笔记』Nginx 中的 Gzip 压缩配置指南
🎈今日推荐——https://cloud.tencent.com/developer/article/2472459
二一年冬末
2024/11/30
7430
[号外] Blazor wasm 其实也挺快!
之前第一篇的时候,因为没有用任意配置,导致wasm加载很慢,我就感觉不会是这样的,为了不误导小盆友,所以还是趁着周末研究了一波,做了相关的调整,经过测试,速度基本可观了,移动端也能轻松驾驭。万岁!
老张的哲学
2022/04/11
1.6K0
[号外] Blazor wasm 其实也挺快!
如何设置Nginx的Gzip压缩?
西里网
2025/04/21
2420
Nginx 静态压缩和代码压缩,提高访问速度!
但我们上班的心情,还是不能被这炎热的夏天所影响的,所以今天咋们来讲讲如何给前端访问加加速吧!!!
PHP开发工程师
2022/05/26
2K0
Nginx 静态压缩和代码压缩,提高访问速度!
「Openresty系列」Nginx如何开启GZIP文件压缩
GZip 是一种改进web应用程序性能的技术,文件压缩后再传输可以减少传输数据,提升传输速度。在Nginx服务器上开启Gzip压缩可以有效减少网络传输流量,提升网站的访问速度和性能。
Tinywan
2023/11/30
1.4K0
「Openresty系列」Nginx如何开启GZIP文件压缩
nginx gzip 压缩
Web 开发中需要的静态文件有:CSS、JS、字体、图片,可以通过 web 框架进行访问,但是效率不是最优的。 Nginx 对于处理静态文件的效率要远高于 Web 框架,因为可以使用 gzip 压缩协议,减小静态文件的体积加快静态文件的加载速度、开启缓存和超时时间减少请求静态文件次数。下面就介绍如何通过 Nginx 管理静态文件的访问,优化网站的访问速度。
数媒派
2022/12/01
1.3K0
「简明性能优化」双端开启Gzip指南
在 http/1.0 协议中关于服务端发送的数据可以配置一个 Content-Encoding 字段,这个字段用于说明数据的压缩方法
前端劝退师
2019/09/17
1.7K0
「简明性能优化」双端开启Gzip指南
相关推荐
Nginx gzip参数详解及常见问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验