网络链接的设置
超时时间
client_header_timeout
client_header_timeout time; #默认单位 秒
客户端与服务器建立连接接收 HTTP 请求的时间,超出设置的时间即为超时。
默认:60
配置块:http、server、location
client_body_timeout
client_body_timeout time;
读取 HTTP 包体时的超时时间。
默认:60
配置块:http、server、location
send_timeout
send_timeout time;
发送响应超时时间。
默认:60
配置块:http、server、location
reset_timeout_connection
reset_timeout_connection on|off;
开启后,Nginx 会在连接超时后不是使用正常情形下的四次握手关闭 TCP 连接,而是直接向用户发送 RST 重置包,直接释放这个套接字所使用的全部缓存。
默认:off
配置块:http、server、location
lingering
lingering_close
lingering_close off|on|always;
关闭用户连接的方式。
always: 关闭连接前必须处理所有用户发送的数据。
off:关闭连接时完全不管已经准备就绪的来自用户的数据。
on: 一般情况下在关闭连接前都会处理连接上的用户发送的数据,除非有些情况业务认定之后的数据是不必要的。
默认:on
配置块:http、server、location
lingering_time
lingering_time time;
指定了Nginx在关闭连接后等待的时间,在这段时间内,Nginx将继续处理连接上的任何剩余数据。当连接关闭时,Nginx将等待 n 秒后才关闭连接,并处理连接上的任何剩余数据。
默认:30s
配置块:http、server、location
linering_timeout
linering_timeout time;
lingering_close
生效后,关闭连接前会检测是否有用户发送的数据到达服务器,如果超过 linering_timeout
时间还没有可读数据就直接关闭连接;否则必须在读取完连接缓冲区上的数据丢弃掉后才会关闭连接。
keepalive
keepalive_timeout
keepalive_timeout time;
用于设置在一个keep-alive连接上客户端和服务器之间的空闲超时时间。如果在这段时间内没有新的请求到达,连接将被关闭。这个参数可以帮助减少服务器资源的消耗,因为它允许在连接不再需要时自动关闭连接,而不是保持空闲状态。
默认:75
配置块:http、server、location
keepalive_requests
keepalive_requests n;
这个参数用于设置在一个keep-alive连接上允许的最大请求数。一旦达到这个数量,连接将被关闭并重新打开一个新的连接。这个参数可以帮助防止某些情况下的连接资源泄漏或过度使用。
默认:100
配置块:http、server、location
tcp_nodelay
tcp_nodelay on|off;
选项用于禁用Nagle算法。Nagle算法是一种算法,用于减少发送小数据包的次数,以提高网络效率。但在某些情况下,如实时性要求高的应用中,禁用Nagle算法可以减少延迟。
默认:on
配置块:http、server、location
tcp_nopush
tcp_nopush on|off;
个参数用于控制TCP_CORK选项的启用与禁用。TCP_CORK选项用于将数据缓冲区中的数据一次性发送出去,以减少数据包的数量。
默认:off
配置块:http、server、location