TCP 快速开放 (TFO) 是一种 TCP 协议扩展,旨在通过允许在握手过程中以 SYN 数据包发送数据来减少网页的延迟。这样,客户端就无需在发送数据之前等待单独的 ACK 数据包,从而减少了总体页面加载时间。
在 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官方网站。