Nginx配置-启用gzip压缩,优化网站访问速度

2023-10-31 06:30

本文主要是介绍Nginx配置-启用gzip压缩,优化网站访问速度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Nginx配置-启用gzip压缩,优化网站访问速度

一、功能描述

  • 实现: Nginx开启Gzip压缩功能, 可以使网站的css、js 、xml、html 等文件在传输时进行压缩,提高网站访问速度。
  • 版本: nginx/1.16.1。

二、代码实现

具体配置如下:

参数详解:

# 开启或关闭gzip模块(实时压缩输出)
gzip on|off;     # 开启或关闭gzip静态文件处理模块(提前压缩,需要nginx中添加上http_gzip_static_module模块)
gzip_static on|off;# 设置压缩缓冲区大小,例如"gizp_buffers 4 8k"就是设置为4个8k内存作为压缩结果数据流缓存
gzip_buffers number size;      # 设置允许压缩的页面最小字节数; 页面字节数从header头中的Content-Length中进行获取,建议设置成大于1k,小于1k没有压缩的必要. 
gzip_min_length length;         # 识别http的协议版本。可以不用配置。
gzip_http_version 1.0|1.1;# 设置压缩比,可以是0到9中的任一个,级别越高,压缩结果就越小,但同时消耗CPU资源越高,一般折中取6
gzip_comp_level [1-9];# 设置需要压缩的MIME类型,如果不在设置类型范围内的请求不进行压缩,线上配置时尽可能配置多的压缩类型。
# 要压缩的内容(js,css,html...),不要压缩的内容(图片,视频,flash...压缩比不大,占用服务器性能)
# 支持的类型(text/plain application/x-javascript text/css application/xml text/javascript application/javascript application/json application/x-httpd-php image/jpeg image/gif image/png;)
gzip_types mime-type [mime-type ...];# Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。
gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any]# 配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_disable "MSIE [1-6]\.";# 增加vary头
gzip_vary on;

线上配置:

http {...# gizp压缩配置gzip on;gzip_min_length 1k;gzip_buffers 4 8k;gzip_http_version 1.1;gzip_comp_level 6;gzip_types text/plain qpplication/x-javascript text/css application/xml text/javascript application/javascript application/json;gzip_disable "MSIE [1-6]";gzip_vary on;...
}

:wq保存退出,重启Nginx,如下命令:

/usr/local/nginx/sbin/nginx -s reload

三、最终效果

未启用gzip时,网站资源访问速度:

 启用gizp后:

四、参考文档

1.Nginx中文文档--HttpGzip模块
2.Nginx性能优化功能- Gzip压缩(大幅度提高页面加载速度)

3.SpringBoot系列教程Web篇之开启GZIP数据压缩

这篇关于Nginx配置-启用gzip压缩,优化网站访问速度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/313468

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr