Nginx 启用 gzip 压缩
Gzip是若干种文件压缩程序的简称,通常指GNU计划的实现,此处的 gzip 代表GNU zip。也经常用来表示 gzip 这种文件格式。
什么是 Gzip ?
Gzip是若干种文件压缩程序的简称,通常指GNU计划的实现,此处的gzip代表GNU zip。也经常用来表示 gzip 这种文件格式。
这也是HTTP1.1协议定义的两种压缩方法中最常用的一种压缩方法,客户端浏览器大都支持这种压缩格式。
Gzip 作用
网站的流量越来越多大,对于使用Nginx的优化变得非常重要,经过Gzip压缩后页面大小可以变为原来的 30% 甚至更小,当用户浏览页面的时候速度会快得多。
Gzip是规定的三种标准HTTP压缩格式之一,目前绝大多数的网站都在使用Gzip传HTML、CSS、JavaScript 等资源文件。
Gzip 交互流程
Gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后由浏览器解压并解析,浏览器那里不需要我们担心,因为目前的绝大多数浏览器都支持解析Gzip压缩过的页面。
任何内容都需要开启 Gzip 压缩?
如果消息的内容太大,就要考虑对消息进行压缩处理,这可以减轻网络带宽压力;但是这同时也会加重 CPU 的负担,因为压缩算法是 CPU 计算密集型操作,会导致操作系统的负载加重。所以,最终是否进行消息压缩,一定要根据业务情况加以权衡。
什么样的资源不适合开启 Gzip 压缩?
- 二进制资源:例如图片、mp3 这样的二进制文件,不必压缩;因为压缩率比较小
- 大文件:会消耗大量的 cpu 资源,且不一定有明显的效果
- 图片类型:图片如 jpg、png 本身就会有压缩,所以就算开启 Gzip 后,压缩前和压缩后大小没有多大区别,所以开启了反而会白白的浪费资源
Nginx 配置 Gzip
# 决定是否开启gzip模块,on表示开启,off表示关闭
gzip on;# nginx对于静态文件的处理模块 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗
# 该模块启用后,nginx首先检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容
gzip_static on;# 设置允许压缩的页面最小字节数 以k为单位,当值为0时,所有页面都进行压缩,小于设置值的文件将不会压缩
gzip_min_length 10k;# 设置压缩所需要的缓冲区大小 ps:此处设置为4个16K内存作为压缩结果流缓存
gzip_buffers 4 16k;# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.1;# gzip 压缩级别(1-9),数字越大压缩的越好,也越占用CPU时间
gzip_comp_level 3;# 设置需要压缩的MIME类型,非设置值不进行压缩,即匹配压缩类型
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;# 指定哪些不需要gzip压缩的浏览器(将和User-Agents进行匹配),依赖于PCRE库,支持正则
# 此处表示ie6及以下不启用gzip(因为IE低版本不支持)
gzip_disable "MSIE [1-6]\.";
Nginx 启用 gzip 压缩相关推荐
- Nginx开启Gzip压缩配置详解
Nginx开启Gzip压缩配置详解 最近生产上发生了一些问题,原先所有的静态资源文件都是经过gzip压缩的,然而这几天突然都没有压缩了,经过一顿排查,发现是Nginx的配置有问题,借此机会详细了解了N ...
- nginx开启Gzip压缩,Vue性能优化之使用gzip压缩打包
一.前言 不管是vue项目还是react项目在使用webpack打包之后都会生成一个动辄一两兆甚至更大的js文件,在某些情况下严重影响项目性能,打开页面的时候白屏时间会很长,本文将介绍如何使用gzip ...
- 网站启用GZip压缩后,速度快了3倍!
GZip压缩,是一种网站速度优化技术,也是一把SEO优化利器,许多网站都采用了这种技术,以达到提升网页打开速度.缩短网页打开时间的目的. 本文是一篇研究性文章,将通过某个案例来给大家显示网站采用GZi ...
- webpack+nginx开启gzip压缩部署项目
首先在服务器安装nginx sudo apt update sudo apt install nginx 安装完毕后将前端项目打包 webpack.output.publicPath里配置资源基础路径 ...
- 启用Gzip压缩(IIS)提高客户端网站访问速度
IIS上启用Gzip压缩(HTTP压缩) 详解 一.摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联 ...
- 在IIS上启用Gzip压缩 (HTTP压缩)方法
本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 一.摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小 ...
- squid配合nginx的gzip压缩的完美解决方案
Squid3.0之前,一直不能完美支持http1.1.所以对gzip内容的支持,始终有很多问题.我也看过很多帖子,号称解决了这个问题.但是其实一直没有把问题说清楚.我今天试着把问题的原因和解决方法彻底 ...
- nginx的gzip压缩
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢? gzip(GNU-ZIP)是一种压缩技术.经过gzi ...
- 更改web.config,让godady的win主机启用gzip压缩
阅读本文首先确定你正在使用或者准备使用godaddy的windows虚拟主机,当然也会适合别的windows主机,同时,请确定你的虚拟主机的iis模式是7而不是6,因为godaddy同时还支持iis6 ...
最新文章
- elasticsearch如何安全重启节点
- 好看的按钮组件_一个能决定命运的按钮,你敢来挑战吗?
- 在ubuntu用arm ds-5社区版配合linaro交叉编译工具开发android linux应用
- Docker多步构建更小的Java镜像
- 程序员最喜欢用的在线代码编译器,什么?你竟然不知道!可以在网页敲代码,运行调试!
- 实验楼python挑战答案_python基础知识
- qt5 tcp服务器编程 多固定客户_服务器与客户端进程之间端口号联系
- 【图文详解:索引极简教程】SQL 查询性能优化原理
- 人民日报申论范文:题目考“时间”你怎么写
- matlab求刚度,求整体刚度矩阵matlab程序
- 一些Winodws mobile相关资料的整理
- TortoiseSVN 使用教程
- 拉格朗日松弛(二)——实例及代码
- JavaOJ 汉诺塔问题
- 群表示论之Able群的不可约表示
- php date函数时间不对,PHP Date / Time 日期和时间 函数和时间相差8小时解决办法
- Linux进程5:exec族函数(execl, execlp, execle, execv, execvp, execvpe)总结及exec配合fork使用
- ThinkPHP验证码错误解决过程
- Mac Cordova iOS配置和常见问题
- 电气工程系毕业设计大全单片机精品设计合集参考案例地址
热门文章
- TimesTen学习(四)Data Manager守护进程
- 力软快速开发框架的建设与介绍
- Android Studio编译报错:“ java.lang.OutOfMemoryError: Java heap space”
- 电子货架标签----智能路由
- Java 中 Emoji 的正则表达式
- 乐播登录显示服务器失败,乐播投屏搜索设备失败的处理操作
- 2019,IP网络完成智能觉醒
- Zoox 已成自动驾驶人才quot;收割机quot; ,特斯拉受伤最深
- 关于opencv使用CAP_PROP_FPS得到的摄像头帧率为0的解答和解决方案
- 【人工智能】确定型推理