fastcgi_read_timeout
指令 `fastcgi_read_timeout` 设置 NGINX 在超时之前等待来自 FastCGI 服务器响应的最长时间。 — NGINX HTTP Core
fastcgi_read_timeout
httpserverlocation
语法fastcgi_read_timeout time;
默认值60s
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`fastcgi_read_timeout` 指令用于指定 NGINX 在发送请求后等待来自 FastCGI 服务器响应的时长。这在 FastCGI 处理可能比预期更长、且希望避免过早关闭仍可能最终返回响应的连接时非常有用。该超时对每个请求单独生效,并可以在诸如 `http`、`server` 和 `location` 块等不同上下文中指定。 该指令的参数是一个时间值,可以用秒 (s)、分钟 (m)、小时 (h) 或天 (d) 指定。如果超过超时时间且未收到响应,NGINX 将终止与 FastCGI 服务器的连接,并可能向客户端返回错误。调整 `fastcgi_read_timeout` 对于需要更长处理时间的应用(例如执行复杂数据库查询或文件操作的应用)而言,可能对性能优化至关重要。 需要注意的是,将此值设置得过低可能导致不希望的连接关闭,而设置得过高可能会使客户端在永远不会到来的响应上不必要地等待过久。因此,建议根据应用的性能特性对该值进行平衡设置。
配置示例
location /api {
fastcgi_pass 127.0.0.1:9000;
fastcgi_read_timeout 120s;
}⚠
将超时设置得很短可能会导致在处理时间较长时合法请求失败。
⚠
如果您将超时设置高于 PHP 的最大执行时间,超时仍将根据本指令生效;因此,您的应用程序可能需要调整这些设置以保持一致。