nginx - 开启 gzip 压缩
文章目录一、 服务器端开启 Gzip 压缩二、 客户端开启 Gzip 压缩也需要配置 nginx三、总结1️. vite-plugin-compression 的作用2️. Nginx Gzip 压缩与插件的区别3️. 实际项目选择建议四、常见问题1️. Nginx 配置作用域规则2. gzip_static on; 的作用3. gzip_static on; 静态压缩文件 与 gzip on; 同时存在在前端项目中JS/CSS文件较大时启用Gzip压缩可以显著减少传输体积提高页面加载速度。下面我以Vue3项目 为例讲解如何在 本地 Nginx 环境下开启 Gzip并验证效果。开启 gzip 压缩有两种方式服务器端开启 Gzip 压缩客户端开启 Gzip 压缩但都要在nginx中配置才能生效。一、 服务器端开启 Gzip 压缩将 Vue3 打包目录拷贝到 Nginx 的部署目录我这里是D:\Deploy\vue3编辑Nginx配置nginx.conf添加server配置server{listen8080;server_name localhost;# 压缩开启 [!code highlight:5]gzipon;# 开启 gzipgzip_vary on;# 根据 Accept-Encoding 缓存不同版本gzip_min_length1024;# 小于 1KB 的不压缩gzip_comp_level6;# 压缩等级gzip_types text/plain text/css application/javascript application/json text/html application/xml image/svgxml;location /{try_files$uri$uri/ /index.html;}# vue3项目location /vue3/{aliasD:/Deploy/vue3/;try_files$uri$uri/ /index.html;index index.html index.htm;}}配置解释gzip on开启 Gzip 压缩gzip_types指定压缩的文件类型try_files $uri $uri/ /index.htmlVue3 history 模式路由支持启动 Nginx 后访问http://localhost/vue3/查看Network面板查看JS/CSS文件响应头的字段content-encoding为gzip说明开启了 Gzip 压缩。如果没有content-encoding字段说明未成功开启gzip。如下所示(成功开启)未成功开启二、 客户端开启 Gzip 压缩也需要配置 nginx客户端开启 Gzip 压缩需要在使用第三方插件在打包构建时就需要生成对应的.gz文件。我的 vue3 项目使用的是vite-plugin-compression,在 vite.config.ts 中这样配置importcompressionPluginfromvite-plugin-compression;exportdefaultdefineConfig({plugins:[// gzip压缩ViteCompression({verbose:true,// 是否在控制台输出压缩结果disable:false,// 是否禁用threshold:1024,// 体积大于 threshold 才会被压缩,单位 balgorithm:gzip,// 压缩算法,可选 [ gzip , brotliCompress ,deflate , deflateRaw]ext:.gz,// 生成的压缩包后缀deleteOriginFile:false//压缩后是否删除源文件})]});运行vite build打包项目会在dist目录下生成对应的.gz文件。如下所示然后在 nginx 中配置gzip on和gzip_static on;开启直接返回.gz文件的功能。server{listen80;server_name localhost;# 压缩开启 [!code highlight:2]gzipon;gzip_static on;# 直接返回 .gz 文件location /{try_files$uri$uri/ /index.html;}# vue3项目location /vue3/{aliasD:/Deploy/vue3/;try_files$uri$uri/ /index.html;index index.html index.htm;}}最后访问部署的项目http://localhost/vue3/查看Network面板查看JS/CSS文件响应头的字段content-encoding为gzip说明开启了 Gzip 压缩。如下所示三、总结1️.vite-plugin-compression的作用在构建阶段就把静态资源JS/CSS/HTML生成压缩文件如.gz或.br。优点浏览器访问时直接获取压缩文件不需要 Nginx 或其他服务器再压缩减少服务器 CPU 消耗适合高并发场景缺点文件体积会多一份原文件 压缩文件部署时服务器需要正确配置让.gz文件直接返回给浏览器2️. Nginx Gzip 压缩与插件的区别特性Nginx Gzipvite-plugin-compression压缩时机请求时服务器动态压缩构建时生成静态压缩文件CPU 消耗高并发时占用服务器 CPU构建阶段消耗 CPU运行时几乎零消耗配置复杂度简单gzip ongzip_types需要插件 配置 Nginx 支持.gz文件文件存储不占额外磁盘空间占额外空间生成.gz文件性能小文件差异不大长连接 HTTP2 可快速传输高并发大文件优势明显3️. 实际项目选择建议本地开发或小型项目只使用Nginx Gzip就够了简单配置即可无需插件大型项目 / 高并发部署推荐在构建阶段生成压缩文件vite-plugin-compression配合 Nginx 配置location /assets/ { gzip on; gzip_static on; # 直接返回 .gz 文件 expires 1y; add_header Cache-Control public, immutable; }优点请求时不再动态压缩CPU 占用低性能更稳定四、常见问题1️. Nginx 配置作用域规则Nginx 配置指令有全局、http、server、location作用域某些指令只能在 http/server 级别生效或者全局继承gzip on;指令就是典型例子可以在http或server块中开启在location 块中开启有些版本/编译方式不生效导致 gzip header 不加官方文档也说明gzip可以在 http、server 或 location 块启用但有些版本 location 中开启可能不触发gzip_static的Content-Encoding逻辑2.gzip_static on;的作用如果请求的文件存在.gz压缩文件直接返回该文件给浏览器。请求流程开启 gzip_static浏览器请求资源app.js并发送Accept-Encoding: gzipNginx 检查是否存在app.js.gz浏览器是否支持 gzip如果条件满足返回app.js.gz文件内容必须开启全局gzip on;才会自动添加Content-Encoding: gzip响应头浏览器收到响应后自动解压显示3.gzip_static on; 静态压缩文件与gzip on;同时存在优先级原则如果请求的资源存在.gz文件且浏览器支持 gzipNginx优先使用.gz文件gzip_staticgzip on不会再次压缩.gz文件如果请求的资源没有.gz文件Nginx 会使用gzip on对原文件进行动态压缩注意想要开启gzip压缩gzip on;必须开启全局才能自动添加Content-Encoding: gzip响应头。只有gzip_static是不会生效的。 感谢阅读想了解更多 我的博客网站 | 记录思考分享干货 我的个人主页 | 关于我、开源项目

相关新闻

量化交易策略回测实战:从事件驱动架构到OpenClaw应用避坑指南

量化交易策略回测实战:从事件驱动架构到OpenClaw应用避坑指南

1. 项目概述:从“龙虾炒股”到策略回测的实战路径最近在和一些做量化交易的朋友交流时,经常听到“openclaw龙虾炒股”这个工具。很多刚入门的朋友,包括我自己最初接触时,都有个共同的困惑:策略代码写出来了&#xff0c…

2026/8/25 10:20:42 阅读更多 →
Docker 核心概念和安装

Docker 核心概念和安装

文章目录Docker 容器Docker 镜像Docker 仓库Docker 技术原理Docker 安装1. Linux 系统2. Windows 安装3. Mac 安装直接在 Docker 官网下载安装包 安装就行。Docker 容器 Docker 简单来说就是通过容器化技术给应用程序封装一个独立的运行环境,每个运行环境就是一个容…

2026/8/25 10:20:42 阅读更多 →
量化交易入门:基于OpenClaw的策略回测实战指南

量化交易入门:基于OpenClaw的策略回测实战指南

1. 项目概述:从“感觉”到“数据”的量化交易之路在股票市场里,很多朋友都听过“回测”这个词,但真正动手去做的却不多。大家常常是凭感觉、听消息或者看几根K线就决定买卖,结果往往是“一顿操作猛如虎,一看收益原地杵…

2026/8/25 10:20:42 阅读更多 →

最新新闻

铝箔袋给袋机双包检测:不用改包材,磁感应双张检测器在线防叠袋

铝箔袋给袋机双包检测:不用改包材,磁感应双张检测器在线防叠袋

铝箔复合袋在给袋机上因静电吸附局部真空低摩擦系数三重叠加,双包率显著高于普通PE袋,一台80-120袋/分钟的产线,1%双包率即意味着每小时48-72个不良品 磁感应双张检测器直接检测铝箔金属层厚度差异,单双袋信号差异接近2倍&#xf…

2026/8/25 13:47:42 阅读更多 →
驱动二阶段——设备驱动

驱动二阶段——设备驱动

一、linux 字符设备驱动框架1.1linux基本驱动框架分类字符设备是流式的,如键盘、串口。块设备是存储式的,如硬盘、U盘。网络设备是通讯式的,如网卡,通过Socket访问。在/dev目录下使用ls -l查看设备的具体类型信息linux驱动模块的基…

2026/8/25 13:47:42 阅读更多 →
自由学习记录(220)

自由学习记录(220)

AC_FaceReferenceFrameToCustomPrimitiveData 然后: 左侧 My Blueprint 面板找到 Functions。点击右侧 。命名: UpdateFaceReferenceFrameCustomPrimitiveData 选中函数入口节点。在 Details 中设置: Access Specifier PublicPure fals…

2026/8/25 13:47:42 阅读更多 →
《中华人民共和国网络安全法》国企维度合规实践指南深度解读

《中华人民共和国网络安全法》国企维度合规实践指南深度解读

《中华人民共和国网络安全法》国企维度合规实践指南深度解读 导语 《中华人民共和国网络安全法》(以下简称《网安法》)作为我国网络安全领域基础性法律,确立了网络运营者安全保护义务、关键信息基础设施保护、安全监测预警、应急处置、法律责…

2026/8/25 13:47:42 阅读更多 →
芯片 PPA 和 PVT 签核工艺角(Sign-off Corners)

芯片 PPA 和 PVT 签核工艺角(Sign-off Corners)

PPA在数字集成电路(IC)与芯片设计领域,PPA 是衡量一款芯片核心竞争力的终极商业与技术指标。它是以下三个英文单词的缩写:Performance(性能)[📊]Power(功耗)[&#x1f4c…

2026/8/25 13:47:42 阅读更多 →
【python】条件语句

【python】条件语句

if语法单分支语法if 条件:条件成立执行的代码1条件成立执行的代码2......要点说明a)if后面跟条件表达式,末尾必须加冒号 : ,冒号代表代码块开始。b)冒号下方的代码,必须缩进(一般 4 个空格)&…

2026/8/25 13:46:42 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →