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

相关文章

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

MySQL zip安装包配置教程

《MySQLzip安装包配置教程》这篇文章详细介绍了如何使用zip安装包在Windows11上安装MySQL8.0,包括下载、解压、配置环境变量、初始化数据库、安装服务以及更改密码等步骤,感兴趣的朋... 目录mysql zip安装包配置教程1、下载zip安装包:2、安装2.1 解压zip包到安装目录2.2

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API