Nginx keepalive用法示例:Nginx中的keepalive是什么?

2021年11月10日01:13:56 发表评论 1,543 次浏览

Nginx中的keepalive是什么?在Nginx 中keepalive是一个指令,用于在一定数量的服务器请求或请求超时期限到期之前保持连接打开。根据 Nginx 开发人员的说法,10,000 个空闲连接将仅使用 2.5 MB 的内存,证明 Nginx 由于保持连接而非常擅长处理空闲连接。如何理解Nginx中的keepalive?它还对最终用户对加载时间的感知有很大影响。你还可以利用 keepalive 来优化网站的加载时间,下面我们结合Nginx keepalive用法示例来理解keepalive。

在 Nginx 中使用 keepalive 有什么好处

创建新的 TCP 连接会消耗大量资源,例如内存和 CPU 使用率。但是,在 Nginx 中保持连接处于活动状态可以减少这种使用。这是强烈建议对 HTTPS 连接使用 keepalive 的另一个原因。启用 keepalive 可以帮助你改善网站的用户体验和性能。它允许浏览器通过单个 TCP 连接加载页面内容。我想在这里提到的另一个好处是它还提高了网页速度,因为它能够通过同一连接传送多个文件,减少延迟并加快网页加载速度。

如何在 Nginx 中使用 keepalive

现在,让我们看看如何在Nginx 中使用keepalive连接。为此,通过在终端中写出以下内容,在你的 nano 编辑器中打开 Nginx 配置文件:

$ sudo nano /etc/nginx/nginx.conf
Nginx keepalive用法示例:Nginx中的keepalive是什么?

Nginx 配置文件将如下所示:

Nginx keepalive用法示例:Nginx中的keepalive是什么?
如何理解Nginx中的keepalive

Keepalive 连接可以通过降低与关闭和打开连接相关的网络和 CPU 开销来提高速度。Nginx 支持上游服务器和客户端的 Keepalive。终止所有客户端连接,之后 Nginx 建立与上游服务器的独立连接。

Nginx 中的 keepalive_timeout 是什么

Nginx 配置文件中的keepalive_timeout 值指示服务器必须等待多长时间才能从客户端获取请求。换句话说,我们可以说它表示空闲保持连接将保持打开状态的秒数。最好让空闲连接保持打开状态大约六到十秒钟。如果keepalive_timeout的值设置得太高,会导致服务器过载,浪费RAM资源。Nginx中keepalive_timeout的语法如下:

keepalive_timeout [time]

Nginx 中 keepalive_timeout 的上下文:服务器、http 和位置

现在,在 Nginx 配置文件中,我们将 keepalive_timeout 值设置为 10 秒:

keepalive_timeout 10;
Nginx keepalive用法示例:Nginx中的keepalive是什么?

Nginx 中的 keepalive_disable 是什么

keepalive_disable选项允许你来禁用特定浏览器的家庭保活功能。Nginx中keepalive_disable的语法是

keepalive_disable browser1 browser2;

Nginx 中 keepalive_disable 的上下文:服务器、http 和位置

现在,我们将仅禁用“ msie6 ”浏览器以使用 keepalive 功能:

keepalive_disable msie6;
Nginx keepalive用法示例:Nginx中的keepalive是什么?

Nginx中的keepalive是什么?

在单个 keepalive 连接上,keepalive_requests值表示它可以处理的最大请求数。keepalive_requests 的默认值为 100。但是,可以设置更高的值,这在使用从单个客户端发送许多请求的负载生成实用程序进行测试时往往很有用。Nginx中keepalive_requests的语法是:

keepalive_requests [value];

如何理解Nginx中的keepalive?Nginx 中 keepalive_requests 的上下文:服务器、http 和位置

Nginx keepalive用法示例:现在,我们将“ 100000 ”设置为可以通过单个连接提供服务的最大请求数:

keepalive_requests 100000;
Nginx keepalive用法示例:Nginx中的keepalive是什么?
Nginx中的keepalive是什么?

上游服务器中的保持连接

如何理解Nginx中的keepalive?你可以为上游服务器启用 keepalive 连接,限制每个工作进程缓存中存储的空闲 keepalive 连接数。当上游服务器达到 keepalive 值时,使用最少的连接将被关闭。

在 Nginx 配置文件中添加以下给定的行以设置上游服务器的值:

upstream backend {

keepalive 16;

}

在这里,我们添加了“ 16 ”作为与保持打开的上游服务器的空闲保活连接数。上游服务器没有默认的 keepalive 值:

Nginx keepalive用法示例:Nginx中的keepalive是什么?
Nginx keepalive用法示例

要保存你在 Nginx 配置文件中所做的任何更改,请按“ CTRL+O ”:

Nginx keepalive用法示例:Nginx中的keepalive是什么?

之后,重新启动系统上的 Nginx 服务:

$ sudo systemctl restart nginx
Nginx keepalive用法示例:Nginx中的keepalive是什么?

结论

Nginx中的keepalive是什么?Nginx是一种高效的 HTTP 负载均衡器,可以在各种部署情况下使用,而帮助 Nginx 执行此功能的特性是 keepalive。上游服务器和客户端都支持保持连接。在这篇文章中,你了解了 Nginx 中的 keepalive 是什么、Nginx keepalive用法示例。此外,我们还解释了keepalive_requestskeepalive_timeoutkeepalive_disable指令及其在 Nginx 中的用法。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: