写点什么

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

作者:左诗右码
  • 2024-07-04
    上海
  • 本文字数:1244 字

    阅读完需:约 4 分钟

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 压缩只是众多性能优化策略中的一个,持续优化,让我们的网站“飞”得更快!

发布于: 刚刚阅读数: 5
用户头像

左诗右码

关注

全网同名,欢迎关注交流。 2018-11-22 加入

三观比五官更正,思想比套路更深。常用技术栈PHP、Go、Python,享受编程,平时爱好写点文章。V公主号:「左诗右码」,欢迎关注交流。

评论

发布
暂无评论
Nginx 开启 gzip 压缩,让网站飞一会!_nginx_左诗右码_InfoQ写作社区