Nginx 开启 gzip 压缩,让网站飞一会!

简介: 一起来了解下nginx的gzip压缩

随着互联网的高速发展,网站性能的优化变得愈发重要。服务器响应时间、页面加载速度等都直接影响到用户体验。

今天,我们聊聊服务器端的一个"小技巧" —— 在 Nginx 上开启 gzip 压缩,这不仅可以有效减少服务器的带宽消耗,还能在一定程度上提升网站的访问速度。当然,其副作用是会增加 CPU 的占用率,但多数情况下,我们的 CPU 还是相当“闲散”的。

为什么要开启 gzip 压缩?

在深入了解如何开启之前,让我们先弄清楚为什么要使用 gzip 压缩。简单来说,gzip 压缩可以将网页文件大小压缩至原大小的 30% 甚至更低,这直接导致了数据传输时间的缩短,进而提升了网站加载速度,提高用户体验。尤其是对于文本类文件(如 HTML、CSS、JavaScript),gzip 可以极大地优化其传输效率。

开启 Nginx 中的 gzip 压缩

接下来,我们一步步来操作如何在 Nginx 中开启 gzip 压缩。首先,你需要找到 Nginx 的配置文件 nginx.conf,通常位于 /etc/nginx/nginx.conf

编辑配置文件

使用你喜欢的文本编辑器打开 nginx.conf,然后在 http 模块(不是 serverlocation)中添加如下配置:

gzip on;  # 开启 gzip 压缩
gzip_min_length 1k;  # 设置允许压缩的页面最小字节数
gzip_buffers 16 64k;  # 设置系统获取多少缓冲区,以及每个缓冲区的大小
gzip_http_version 1.1;  # 启用 HTTP/1.1 时的 gzip 压缩
gzip_comp_level 9;  # 设置 gzip 压缩级别,1(最快)到 9(最小)9是最高压缩率但占用CPU较多
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;  # 指定压缩的 MIME 类型
gzip_vary on;  # 根据请求的Accept-Encoding头信息来判断是否启用gzip

这里简单解释一下关键参数:

  • gzip on;:启用 gzip 模块。
  • gzip_min_length 1k;:仅压缩大于 1KB 的响应体内容,避免对小文件进行压缩反而增大体积。
  • gzip_comp_level 9;:设置压缩等级,1-9,数值越大,压缩率越高,但相对会占用更多的 CPU 资源。
  • gzip_types:定义哪些类型的文件需要被压缩,常见的有 HTML、CSS、JS 等文件类型。

重新加载 Nginx 配置

编辑完毕后,通过以下命令重新加载 Nginx 配置:

sudo nginx -s reload

如何验证 gzip 压缩已经开启?

最简单的验证方式是通过浏览器的开发者工具。在浏览器地址栏输入你的网站地址,打开网站,然后按 F12 打开开发者工具,选择“网络”(Network)标签页,刷新网页,点击任意一个请求,在响应头(Response Headers)中查找 Content-Encoding 字段。如果看到 gzip,恭喜你,gzip 压缩已经成功开启!

总结

通过上述步骤,你可以轻松地在 Nginx 服务器上启用 gzip 压缩功能。虽然这会稍微增加服务器的 CPU 负荷,但考虑到带宽成本和网站性能的提升,这通常是值得的。

另外,不要忘了定期检查你的网站性能,确保它能够为用户提供最佳的访问体验。开启 gzip 压缩只是众多性能优化策略中的一个,持续优化,让我们的网站“飞”得更快!

相关文章
|
1月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
34 4
|
1月前
|
前端开发 JavaScript 应用服务中间件
使用nginx部署网站
使用nginx部署网站
|
3月前
|
监控 网络协议 应用服务中间件
高并发下Nginx压缩
【8月更文挑战第16天】gzip压缩在Nginx中可减少传输数据量,加快响应速度但消耗CPU。可在http、server及location级别配置。高并发时,启用Nginx状态监控以检查性能,配置`nginx.conf`添加`location /NginxStatus { stub_status on; access_log off; }`并重启Nginx
52 12
|
3月前
|
运维 算法 应用服务中间件
运维系列.Nginx中使用HTTP压缩功能(一)
运维系列.Nginx中使用HTTP压缩功能(一)
66 1
|
3月前
|
应用服务中间件 nginx
nginx配置gzip压缩
nginx配置gzip压缩
|
4月前
|
存储 缓存 前端开发
(三)Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...想要的这都有!
早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。
139 1
|
3月前
|
Ubuntu 应用服务中间件 Linux
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
27 0
|
3月前
|
Ubuntu 前端开发 JavaScript
如何在 Ubuntu 14.04 上为 Nginx 添加 gzip 模块
如何在 Ubuntu 14.04 上为 Nginx 添加 gzip 模块
27 0
|
3月前
|
缓存 应用服务中间件 nginx
运维系列.Nginx中使用HTTP压缩功能(二)
运维系列.Nginx中使用HTTP压缩功能(二)
47 0
|
5月前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
597 3