如何在 Nginx 上启用 TCP 快速打开

Linux命令 Edge插件网 2年前 (2023-03-14) 740次浏览 已收录 0个评论

TCP 快速开放 (TFO) 是一种 TCP 协议扩展,旨在通过允许在握手过程中以 SYN 数据包发送数据来减少网页的延迟。这样,客户端就无需在发送数据之前等待单独的 ACK 数据包,从而减少了总体页面加载时间。如何在 Nginx 上启用 TCP 快速打开

在 nginx 上启用 TCP 快速打开

第 1 步。安装Nginx。

默认情况下,Nginx在Rocky Linux 9基础存储库中可用。现在我们使用以下命令安装最新版本的 Nginx:dnf

<span class="pln">sudo dnf install <a href="https://www.edge66.com/edgetag/nginx" title="查看更多关于nginx的文章" target="_blank">nginx</a></span>

您可以通过输入以下命令来启动服务并将其配置为在启动时运行:Nginx

<span class="pln">sudo systemctl start <a href="https://www.edge66.com/edgetag/nginx" title="查看更多关于nginx的文章" target="_blank">nginx</a>
sudo systemctl enable <a href="https://www.edge66.com/edgetag/nginx" title="查看更多关于nginx的文章" target="_blank">nginx</a>
sudo systemctl status <a href="https://www.edge66.com/edgetag/nginx" title="查看更多关于nginx的文章" target="_blank">nginx</a></span>

若要使页面向公众开放,必须使用以下命令编辑防火墙规则以允许 Web 服务器上的 HTTP 和 HTTPS 请求:

<span class="pln">sudo firewall</span><span class="pun">-</span><span class="pln">cmd </span><span class="pun">--</span><span class="pln">permanent </span><span class="pun">--</span><span class="pln">zone</span><span class="pun">=</span><span class="kwd">public</span> <span class="pun">--</span><span class="kwd">add</span><span class="pun">-</span><span class="pln">service</span><span class="pun">=</span><span class="pln">http 
sudo firewall</span><span class="pun">-</span><span class="pln">cmd </span><span class="pun">--</span><span class="pln">permanent </span><span class="pun">--</span><span class="pln">zone</span><span class="pun">=</span><span class="kwd">public</span> <span class="pun">--</span><span class="kwd">add</span><span class="pun">-</span><span class="pln">service</span><span class="pun">=</span><span class="pln">https 
sudo firewall</span><span class="pun">-</span><span class="pln">cmd </span><span class="pun">--</span><span class="pln">reload</span>

有关安装 Nginx 的其他资源,请阅读下面的帖子:

  • 如何在 Ubuntu Linux √ 上安装 Nginx
  • 如何在 Rocky Linux √ 上安装 Nginx

第 2 步。检查 TCP 快速打开的当前状态。

在启用 TFO 之前,请检查系统上是否已启用它。执行以下命令,查看TCP快开的当前状态。

<span class="pln">sudo sysctl net</span><span class="pun">.</span><span class="pln">ipv4</span><span class="pun">.</span><span class="pln">tcp_fastopen</span>

如果输出为 ,则系统上已启用 TFO。如果输出为,则可以继续启用 TFO。net.ipv4.tcp_fastopen = 1

第 3 步。在 Nginx 上启用 TCP 快速打开

要在系统上启用 TFO,请运行以下命令:

<span class="pln">sudo sysctl </span><span class="pun">-</span><span class="pln">w net</span><span class="pun">.</span><span class="pln">ipv4</span><span class="pun">.</span><span class="pln">tcp_fastopen</span><span class="pun">=</span><span class="lit">3</span>

这会将值设置为 3,这将启用 TFO,并且即使尚未建立连接也允许发送数据。net.ipv4.tcp_fastopen

第 4 步。修改 nginx 配置。

要在 Nginx 上启用 TFO,您需要修改其配置文件。使用您喜欢的文本编辑器打开文件:/etc/nginx/nginx.conf

<span class="pln">sudo nano </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">.</span><span class="pln">conf</span>

在块内添加以下行:http

<span class="pln">tcp_fastopen on</span><span class="pun">;</span>

保存并关闭文件,然后重新启动 Nginx 以应用更改:

<span class="pln">nginx </span><span class="pun">-</span><span class="pln">tsudo systemctl restart nginx</span>

第5步。测试 TCP 快速开放。

要测试 TCP 快速打开是否在您的 Nginx 服务器上工作,您可以使用以下命令:

如果 TCP 快速打开正常工作,您应该会看到服务器的响应时间缩短。

感谢您使用本教程在 Nginx Web 服务器上启用 TCP 快速打开。有关其他帮助或有用信息,我们建议您查看Nginx官方网站


Edge插件网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何在 Nginx 上启用 TCP 快速打开
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址