linux CentOS7 下 Nginx 1.13.7 配置gzip压缩提升网站速度与负载

2024-03-14 22:08

本文主要是介绍linux CentOS7 下 Nginx 1.13.7 配置gzip压缩提升网站速度与负载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

gzip简介

废话不说,gzip简单点说是一种压缩算法或工具,用在网站上的作用减少网站流量,提升网站打开速度提升网站性能。
原理是在服务器进行压缩,通过网络传输压缩后的内容,客户端在进行解压显示。类似于rar压缩软件一样。
gzip常用配置项:
gzip on | off;#是否开启gzip压缩。默认off
gzip_buffers number size; 
gzip_comp_level level;#压缩等级选择范围1-9,数字越大压缩比越高,相应cup使用越严重。默认1
gzip_disable regex ...;#正则表达式 那些uri不使用压缩。推荐图片视频exe等二进制文件不压缩(压缩比太低浪费资源)。
gzip_min_length length;#大于等于多少字节码开启压缩(文件太小不建议压缩,因为太小的文件压缩后可能比压缩前还要大,因为需要向文件中写入压缩格式)。默认20
gzip_http_version 1.0 | 1.1; #http服务版本。默认1.1
gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;设置请求者代理服务器,该如何缓存内容。默认off
gzip_types mime-type ...;#对何种类型进行压缩,全部类型可查看nginx下conf/mime.types。默认text/html
gzip_vary on | off;是否传输gzip压缩标志。默认off

Nginx使用gzip

1、启动nginx    /usr/local/nginx/sbin/nginx
2、访问nginx主页http://192.168.1.6/index.html
3、使用谷歌浏览器的开发者工具,查看index.html头信息
4、开打nginx.conf配置文件
vim /usr/local/nginx/conf/nginx.conf
5、根据官方文档介绍nginx上可以将gzip配置在http、server、location上下文中或者在location中的if段中。

官网文档地址  http://nginx.org/en/docs/http/ngx_http_gzip_module.html
我选择配置在server中配置,在server中加入如下项目:
        gzip on;gzip_buffers 32 4K;gzip_comp_level 6;gzip_min_length 400;gzip_types text/plain application/xml application/javascript;gzip_vary on;
以上内容在测试环节最重要的属于gizp_min_length 的设置,鉴于index.html是612字节,我设置gzip_min_length为400,这样测试才能看出效果。
对nginx.conf编辑完毕 保存。
重启加载配置nginx(有称为软重启的)
/usr/local/nginx/sbin/nginx -s reload
刷新http://192.168.1.6/index.html
再次使用开发者工具查看头信息。注意刷新时需要先清除缓存,也可以在index.html稍作修改就不会使用缓存。

注意:

一、设置压缩类型gzip_types text/plain应该注意任何类型的文件压缩比可能不尽相同,例如文本类型压缩后可能是压缩前的四分之一五分之一大小。但是mp3、图片等二进制类型的压缩比非常小,100mb压缩后可能只压缩掉10mb左右,所以在cup资源与内存资源适当做出选择。
二、设置gzip_min_length 值不是设置越小越好,因为压缩是需要将压缩的格式内容写入压缩文件中,所以当本身内容已经非常小了,再压缩的话可能比不压缩还要大。
经过测试10字节的txt,压缩后的rar有130多字节。


这篇关于linux CentOS7 下 Nginx 1.13.7 配置gzip压缩提升网站速度与负载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

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

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

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

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

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

使用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. 正则模式(大