简单一招,轻松把 Nginx 服务器性能提升 50 倍

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

0f304a6db5e67bcf55ae3e09d4420efa.jpeg

用 Nginx Gzip 进行静态加速

这绝对是你应该做的事情。并不是特别麻烦,而且效果也很突出。

这里解释了 Nginx 中的 gzip_static。

1.不使用 gzip static 时的 gzip 处理

5afc3a8627b62e67052d4287e22b14b4.png
Nginx 不使用 gzip_static 时 gzip 处理的说明

如果你不使用 gzip_static 而只是 "gzip on",它每次都会被压缩并发送。

虽然它实际上可能缓存在内存中,但传统观点是 "每次都会执行压缩处理,因此 CPU 负载很大。"

因此,我每次都想停止处理它。

"gzip_static" 可以实现这一点。

2.使用 gzip static 时的 gzip 处理

6430c084ee3b1e8d0df84ff05c49831b.png
Nginx 中开启 gzip_static 时 gzip 处理的说明

它将搜索 "gz" 文件并为您使用!

如果是 "style.css",它将自动搜索文件 "style.css.gz"。如果找到,则返回它;如果没有,则照常压缩 "style.css"。因此,如果提前创建压缩文件,就不会产生 CPU 负载,处理速度也会更快。

更好的是压缩级别。

3.使用 gzip static 的优点

8437b4d7c482cd2ca123af8d5e6f4ac5.png
将 gzip_static 与 Nginx 一起使用的最大优点是可以将压缩级别设置为 9。

它可以以最大压缩率保存。

通常情况下,不可能使用最高压缩设置,因为它会给 CPU 带来沉重的负载,但 由于你可以提前慢慢创建它,所以我通常将其保存在最高压缩级别(级别9)。文件大小肯定会减小。

4. 需要一个模块才能在 Nginx 中使用 gzip static

ngx_http_gzip_static_module 是必需的。

请使用以下命令检查是否已安装。

nginx -V 2>&1 | tr ' ' 'n'|egrep _module | sed -e 's/--with-//g'

如果未安装,系统会要求您重新安装 Nginx(可能)。您必须使用 "–with-http_gzip_static_module" 安装它。但是,当我从存储库安装时,所有内容都已包含在内,而无需执行任何操作。

请先检查一下。

5.如何在 Nginx 上配置 gzip 静态

gzip_static on;
gzip on;
gzip_comp_level 1;
gzip_min_length 1024;
gzip_vary on;
gzip_proxied any;
gzip_types text/plain text/css text/javascript application/javascript application/x-javascript application/json application/ld json text/xml application/xml application/xhtml xml application/atom xml application/xml rss application/rss xml image/x-icon image/svg xml image/bmp;

只需在常规内容中添加 "gzip_static on" 即可。

这就是启用它所需要做的全部工作,所以很简单。

我建议你只设置这个。

如果你用谷歌搜索,你会看到很多人指定 "gzip_static always", 这意味着在任何情况下都使用 gz 文件。假设所有目标文件都被压缩并保存(理想情况)。

在这种情况下,将不会显示不支持的用户,因此您还需要指定 "gunzip on;"。如果客户端不支持 gzip,文件会在服务器端解压后发送。

详情请参阅以下页面。

官方解释:ngx_http_gzip_static_module 模块

6. 如何使用 gzip 压缩

<对于 PHP>

gzencode($file, 9)

<对于 ubuntu(Linux)>

gzip -9 -k style.css

每次更新时我都会自动使用 PHP 创建它。

7. 需要压缩的文件

一般文本文件如 css、js、xml 等

可以将其视为图像之外的其他内容。

基本上,它将是 "gzip_types" 指定的文件。

但是,如果将压缩级别设置为 9,图像通常会变小。如果你比较讲究的话,请用各种方式压缩一下看看。

这是 Nginx中 gzip static 的解释。

它非常有效,所以请尝试一下。

原文链接 https://doudonn.com/saba/2331/

本文转载自:「 Lenix Blog 」,原文:https://url.hi-linux.com/o1BAZ ,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

本文转载自:「陈少文的博客」,原文:https://tinyurl.com/y2sbcrau,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

b539d2cf73e6da29d4fee80b0b8c7ecd.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

c6adb9145cad2089f6fac164f710f644.png

你可能还喜欢

点击下方图片即可阅读

cacfc2e9142859825222caf33a24c5f3.jpeg

GitHub 星标 16.1K:一款速度超快的代码编辑器,让你以思维的速度编写代码

20de7d2697fdcb54e19c4ce43674901e.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

50c45494d7866c70c08c08c0d5b1107f.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个高性能的Web服务器和反向代理服务器,可以通过优化其配置来提高性能。下面是一些常见的配置建议: 1. 调整worker_processes参数:worker_processes参数指定Nginx将使用多少个worker进程处理请求。该参数的值应该设置为与CPU内核数相等或稍微大于它。例如,如果您的服务器有4个CPU核心,则可以设置worker_processes为4或5。 2. 调整worker_connections参数:worker_connections参数指定每个worker进程可以处理的最大连接数。该参数的值应该根据服务器的硬件资源和预期的流量负载来选择。通常,该值应该设置在1024到4096之间。 3. 启用sendfile:sendfile是一个高效的系统调用,可以将文件从磁盘直接传输到网络中,而无需将它们复制到用户空间中。启用sendfile可以提高Nginx性能,特别是在处理大型文件时。 4. 启用TCP_NODELAY:TCP_NODELAY选项可以禁用Nagle算法,该算法可以延迟发送小数据包,从而降低网络吞吐量。启用TCP_NODELAY可以提高Nginx性能,特别是在处理大量小数据包时。 5. 启用Gzip压缩:Gzip是一种常见的压缩算法,可以将响应数据压缩以减少网络带宽的使用。启用Gzip压缩可以提高Nginx性能,特别是在处理大量静态内容时。 6. 使用反向代理缓存:Nginx可以用作反向代理服务器,可以缓存响应数据以减少后端服务器的负载。使用反向代理缓存可以提高Nginx性能,特别是在处理高流量网站时。 以上是一些常见的Nginx性能优化建议,您可以根据您的具体需求和硬件资源进行配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值