Nginx 中启用 Gzip 压缩以优化网页加载速度

news/2025/2/8 11:31:25 标签: 运维, nginx, 优化

🏡作者主页:点击! 

Nginx-从零开始的服务器之旅专栏:点击!

🐧Linux高级管理防护和群集专栏:点击!

⏰️创作时间:2025年2月7日17点14分


目录

1. 配置网页压缩

目的

操作步骤

检查 gzip 模块是否启用

测试步骤

1. gzip on;

2. gzip_types

3. gzip_min_length

4. gzip_comp_level

总结


启用 Gzip 压缩是一种简单高效的优化方法,可以显著减少网页传输的数据量,从而提高网页加载速度。Nginx 提供了强大的 Gzip 模块支持,以下是配置 Gzip 压缩的详细步骤及测试方法,帮助你快速完成这一优化

1. 配置网页压缩

目的

启用 Gzip 压缩,减少传输数据量,提高网页加载速度。


操作步骤

检查 gzip 模块是否启用

Nginx 的 gzip 功能依赖 ngx_http_gzip_module 模块。如果该模块未编译到 Nginx 中,则 gzip 功能无法使用。

  1. 检查是否启用了 gzip 模块:
bash
复制
nginx -V 2>&1 | grep gzip

如果输出中包含 --with-http_gzip_module,说明 gzip 模块已编译。如果没有,则需要重新编译 Nginx 并添加该模块。

  1. 如果需要重新编译 Nginx,可以参考以下步骤:
    • 下载 Nginx 源码包。
    • ./configure 时添加 --with-http_gzip_module 参数。
    • 重新编译并安装 Nginx。

  1. 编辑 Nginx 主配置文件:
vim /usr/local/nginx/conf/nginx.conf

http 块中添加以下内容:

http {
    ...
    gzip on;                       # 启用 Gzip 压缩
    gzip_types text/plain text/css application/json application/javascript application/xml+rss; # 压缩类型
    gzip_min_length 1024;          # 最小压缩大小
    gzip_comp_level 5;             # 压缩级别
    ...
}

  1. 测试配置文件语法:
nginx -t
  1. 重启 Nginx 服务:
systemctl restart nginx

测试步骤

  1. 使用 curl 测试 Gzip 压缩:
curl -I --compressed http://<your-nginx-ip>/

预期输出:响应头中包含以下字段:

Content-Encoding: gzip

补充扩展:

1. gzip on;

  • 作用:
    启用 Gzip 压缩功能。
  • 说明:
    这是开启 Gzip 压缩的核心指令。如果未添加此指令,Gzip 压缩功能不会生效。

2. gzip_types

  • 作用:
    指定哪些 MIME 类型的响应内容需要进行 Gzip 压缩。
  • 示例配置:
gzip_types text/plain text/css application/json application/javascript application/xml+rss;
  • 常见 MIME 类型:
    • text/plain:普通文本文件。
    • text/css:CSS 样式表文件。
    • application/json:JSON 格式数据。
    • application/javascript:JavaScript 文件。
    • application/xml+rss:RSS 格式文件。
  • 注意:
    默认情况下,text/html 类型总是会被压缩,无需显式指定。

3. gzip_min_length

  • 作用:
    设置允许压缩的响应内容的最小长度(单位:字节)。
  • 示例配置:
gzip_min_length 1024;
  • 说明:
    • 如果响应内容的大小小于指定的值(如 1024 字节),则不进行压缩。
    • 设置此值可以避免压缩小文件,因为小文件压缩后可能会导致额外的开销,反而增加传输时间。

4. gzip_comp_level

  • 作用:
    设置 Gzip 压缩的级别。
  • 示例配置:
gzip_comp_level 5;
  • 取值范围:1 到 9
    • 1:压缩速度最快,但压缩率较低。
    • 9:压缩率最高,但压缩速度较慢,消耗更多 CPU 资源。
  • 推荐值:
    一般建议设置为 45,在压缩率和性能之间取得平衡。

总结

通过启用 Gzip 压缩,Nginx 能够有效减少数据传输量,提升用户的网页加载体验。在实际应用中,可以根据具体业务需求调整压缩级别和压缩类型,以达到最佳效果。如果你有其他关于 Nginx 压缩优化的经验或问题,欢迎留言分享,让我们一起交流学习!

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子


http://www.niftyadmin.cn/n/5844807.html

相关文章

android skia渲染介绍

Android AOSP 的渲染系统主要使用 Skia 图形库。Skia 是一个开源的 2D 图形库&#xff0c;它被广泛应用于 Android 的图形渲染中&#xff0c;负责绘制 UI 元素、文本、图像以及其他 2D 图形内容。 以下是 Android AOSP 中 Skia 的作用和它在渲染系统中的位置&#xff1a; 1. 什…

【R】Dijkstra算法求最短路径

使用R语言实现Dijkstra算法求最短路径 求点2、3、4、5、6、7到点1的最短距离和路径 1.设置data&#xff0c;存放有向图信息 data中每个点所在的行序号为起始点序号&#xff0c;列为终点序号。 比如&#xff1a;值4的坐标为(1,2)即点1到点2距离为4&#xff1b;值8的坐标为(6,7)…

Day56_20250204_图论part1_图论理论基础|深搜理论基础|98.所有可达路径|广搜理论基础

Day56_20250204_图论part1_图论理论基础|深搜理论基础|98.所有可达路径|广搜理论基础 深搜理论基础 基础知识 深搜与广搜并查集最小生成树拓扑排序最短路算法 图论理论基础 图的基本概念 多个点连线 连通性 表示节点的连通情况 无向图 连通图非连通图连通分量&#xff1a;极…

Godot开发框架探索#2

前言 距离上次发文又又又隔了很长一段时间。主要原因还是因为思绪在徘徊&#xff0c;最近纠结的点有以下几个&#xff1a;1.渴求一个稳定的Godot开发框架&#xff1b;2.要不要使用更轻量的开发框架&#xff0c;或者直接写引擎&#xff1b; 3.对自己想做的游戏品类拿不定主意。…

机试题——最佳检测序列

题目描述 有一家云存储服务提供商&#xff0c;他们家的核心产品是一个可扩展的分布式存储系统。他们的客户使用他们的服务来存储和管理各种数据&#xff0c;包括文档、图片、视频等。由于客户对数据的可靠性和可用性要求非常高&#xff0c;他们需要提供高可用性的存储服务&…

Mybatis之常用动态Sql语句

数据库结构、实体类 public class Youth {private Integer id;private String username;private Date birthday;private Character sex;private String address;private Integer age;public Youth(Integer id, String username, Date birthday, Character sex, String address)…

拥抱开源,助力创新:IBM永久免费云服务器助力开源项目腾飞

近年来&#xff0c;开源项目蓬勃发展&#xff0c;为全球科技进步做出了巨大贡献。然而&#xff0c;服务器成本高昂常常成为开源项目的巨大障碍。许多优秀的项目因缺乏资源而难以持续发展&#xff0c;甚至夭折。令人振奋的是&#xff0c;IBM云计算平台推出了一项重磅活动&#x…

2025年React前端最新面试题整理(记录2025.2月面试合集)

以下是一些2025年 React 前端面试中常见的问题,涵盖了基础知识、进阶概念以及实际应用: 基础知识 什么是 React?它的核心理念是什么?解释组件的概念,以及函数组件和类组件的区别。什么是 JSX?它有什么优点?如何在 React 中管理状态?什么是 props?它与 state 有何不同…