nginx中如何设置gzip

博主介绍:大家好,我是想成为Super的Yuperman,互联网宇宙厂经验,17年医疗健康行业的码拉松奔跑者,曾担任技术专家、架构师、研发总监负责和主导多个应用架构。

技术范围:目前专注java体系,有多年java、golang、.Net、DDD、软件架构、redis、nginx、tomcat、mysql、oracle等经验

业务范围:对传统业务应用技术转型,从数字医院到区域医疗,从院内业务系统到互联网医院及健康服务,从公立医院到私立医院都有一些经历及理解

*** 为大家分享一些技术积累,欢迎交流合作 持续关注Yuperman ***

前言


Nginx通过配置gzip压缩可以提升网站整体速度

Nginx的gzip功能是用于压缩HTTP响应内容的功能。当启用gzip时,在发送给客户端之前,Nginx会将响应内容压缩以减小其大小。这样可以减少数据传输的带宽消耗和响应时间,提高网站的性能和速度。

gzip功能的主要作用包括


  • 减小文件大小:通过对响应内容进行压缩,可以显著减小文件的大小,减少数据传输所需的带宽。
  • 提高网站性能:压缩后的文件可以更快地传输给客户端,减少了网络延迟和传输时间,从而提高网站的性能,加快页面加载速度。
  • 节省服务器资源:由于压缩后的文件更小,服务器需要花费更少的CPU和内存来处理和传输这些文件,从而提高服务器的性能和资源利用率。

gzip配置


  • 下面gzip配置可直接拷贝使用
  • 配置位置:nginx安装目录下nginx.conf文件中的http或server 中

    Nginx开启Gzip配置如下:

gzip  on; # 开启gizp压缩 
gzip_min_length 1k; # gizp压缩起点,文件大于1k才进行压缩 
gzip_comp_level 6; # 压缩级别 数字越大压缩得越小 但是越耗性能 根据实际情况而定
gzip_proxied any; # nginx做为反向代理时启用, 详细见官方文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_proxied 
gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding     
gzip_buffers 16 8k; # 设置压缩所需要的缓冲区大小,以8k为单位,案例中则申请16*4k的缓冲区  
gzip_http_version 1.1; # http的版本     
gzip_types text/plain application/javascript text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; # 文件类型

  位置参考:  

Nginx配置gzip压缩效果查看与验证


 点击单个请求查看已经启用了压缩Content-Encoding:gzip 

压缩前请求数据的大小

压缩后请求数据的大小,可以看到响应的数据较小了,根据不同文件类型压缩效果有所不同


 

结语


  • 修改nginx.conf文件后,需要重启Nginx服务器,使配置生效,重启命令使用nginx -s reload 可以自动检测配置是否存在语法错误
  • gzip功能是在ngx_http_gzip_module是Nginx默认集成的,不需要重新编译,直接开启即可
  • gzip功能对于已经压缩过的文件(如图片、视频等)是不会再进行gzip压缩的
  • gzip_comp_level 压缩级别,并不是越小越好,一般取中间值

通过gzip压缩,我们可以大大减少传输数据的大小,从而减少传输时间和带宽消耗。同时,我们也探讨了在实际应用中需要注意的问题。总的来说,通过对nginx的gzip配置的优化,可以提高网站的性能和用户体验。

):"; cin >> workers[index].gender; break; case '4': cout << "请输入新的工资:"; cin >> workers[index].salary; break; default: cout << "无效的操作,请重新选择!是的,当你使用 Vue CLI 生成的项目进行打包后,需要将打包后的文件部署到 Web " << endl; break; } cout << "修改成功!" << endl; } // 修改所有职工信息 void服务器上才能访问。常见的 Web 服务器有 Nginx、Apache、IIS 等,其 Nginx 是 modifyAll() { cout << "请输入要修改的职工编号:"; int id; cin >> id; int index一个轻量级的高性能 Web 服务器,也是一个常见的选择。 下面是将 Vue 项目部署 = -1; for (int i = 0; i < workerCount; i++) { if (workers[i].id ==到 Nginx 上的一些常见配置: 1. 首先,在 Nginx 的配置文件添加一个 server 块, id) { index = i; break; } } if (index == -1) { cout << "未指定监听的端口和域名(如果有): ``` server { listen 80; server_name example.com; 找到该职工信息!" << endl; return; } cout << "请输入新的职工编号:"; } ``` 2. 在 server 块添加一个 location 块,指定请求的 URL 和对应的文件路径: ``` location int newId; cin >> newId; for (int i = 0; i < workerCount; i++) { if / { root /path/to/your/dist; index index.html; try_files $uri $uri/ /index.html; } (i != index && workers[i].id == newId) { cout << "职工编号已存在,请重新输入!" <<``` 上面的配置,`/path/to/your/dist` 是你打包后的文件夹路径,`index.html endl; return; } } workers[index].id = newId; cout << "请输入新的姓名:"; ` 是默认的入口文件名。`try_files` 用于指定如果请求的文件不存在时,应该返回哪 cin >> workers[index].name; cout << "请输入新的年龄:"; cin >> workers[index].age; cout个文件。 3. 可选的配置项包括缓存、gzip 压缩等,下面是一个完整的示例 << "请输入新的性别(M/F):"; cin >> workers[index].gender; cout << "请输入新的工: ``` server { listen 80; server_name example.com; root /path/to/your/dist; index index.html资:"; cin >> workers[index].salary; cout << "修改成功!" << endl; } // 按编号升序排序; # 缓存配置 add_header Cache-Control no-cache; expires 0; # gzip 压缩 gzip on void sortByIdAsc() { for (int i = 0; i < workerCount - 1; i++) { for (int j = 0; j < workerCount - i - 1; j++) { if (workers[j].id > workers; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; location / { [j + 1].id) { Worker temp = workers[j]; workers[j] = workers[j + 1]; workers try_files $uri $uri/ /index.html; } } ``` 以上是一个基本的 Vue 项目在 Nginx 上的配置,你可以根据自己的需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓风残月Yuperman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值