前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx 开启 gzip 压缩,让网站飞一会!

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

原创
作者头像
南山竹
发布2024-07-04 22:42:49
1310
发布2024-07-04 22:42:49

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

今天,我们聊聊服务器端的一个"小技巧" —— 在 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)中添加如下配置:

代码语言:nginx
复制
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 配置:

代码语言:bash
复制
sudo nginx -s reload

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

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

总结

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

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

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么要开启 gzip 压缩?
  • 开启 Nginx 中的 gzip 压缩
    • 编辑配置文件
      • 重新加载 Nginx 配置
      • 如何验证 gzip 压缩已经开启?
      • 总结
      相关产品与服务
      云开发 CLI 工具
      云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档