Nginx连接保持超时(keepalive_timeout)配置小结

 更新时间:2025年08月01日 10:30:49   作者:Leon_Jinhai_Sun  
Nginx的keepalive_timeout控制客户端连接保持时间,设置空闲超时和响应头Keep-Alive时间,下面就来介绍一下keepalive_timeout配置,感兴趣的可以了解一下

keepalive_timeout 是 Nginx 中一个重要的 HTTP 配置指令,用于控制客户端连接的保持时间。下面我将详细解释这个配置,并提供示例说明。

配置解释

http {
    keepalive_timeout ${NGINX_KEEPALIVE_TIMEOUT};
}
  • keepalive_timeout: 这个指令设置两个值:

    1. 第一个值是客户端连接在服务器端保持打开的超时时间(必需)
    2. 第二个值是可选的,在响应头中发送的"Keep-Alive: timeout=time"值(用于告知浏览器)
  • ${NGINX_KEEPALIVE_TIMEOUT}: 这是一个环境变量占位符,表示实际值会从环境变量中获取。这种配置方式在容器化部署中很常见。

参数说明

  1. 超时时间:单位是秒,默认值为75秒
  2. 作用:当这个时间过后,Nginx会关闭空闲的客户端连接
  3. 优点:减少TCP连接的建立和关闭次数,提高性能

示例说明

示例1:基本配置

http {
    keepalive_timeout 65;
}

这表示:

  • 客户端连接在65秒空闲后将被关闭
  • 响应头中不会发送Keep-Alive头

示例2:带Keep-Alive头的配置

http {
    keepalive_timeout 65 60;
}

这表示:

  • 客户端连接在65秒空闲后将被关闭
  • 在响应头中发送"Keep-Alive: timeout=60",告知浏览器连接保持60秒

示例3:使用环境变量(适合Docker/K8s环境)

http {
    keepalive_timeout ${NGINX_KEEPALIVE_TIMEOUT};
}

运行时通过环境变量设置:

export NGINX_KEEPALIVE_TIMEOUT="30"
nginx

这相当于:

http {
    keepalive_timeout 30;
}

最佳实践建议

  1. 对于高并发网站,建议设置在15-30秒之间
  2. 对于API服务,可以适当延长到60秒
  3. 对于静态资源服务器,可以设置更短一些
  4. 测试环境中可以设置为0来禁用keepalive进行调试

相关指令

  • keepalive_requests: 设置一个keepalive连接上可以服务的最大请求数
  • send_timeout: 设置向客户端发送响应的超时时间

通过合理配置keepalive_timeout,可以显著提高服务器性能,特别是在处理大量短连接请求时。

到此这篇关于Nginx连接保持超时(keepalive_timeout)配置小结的文章就介绍到这了,更多相关Nginx连接保持超时内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx+lua+redis实现降级的示例代码

    nginx+lua+redis实现降级的示例代码

    随着用户访问量的激增,网站或电商平台可能会面临系统超负载的问题,导致注册、下单、支付等功能出现问题,为保障核心服务的高可用性,可以采用降级策略,本文就来介绍一下nginx+lua+redis降级,感兴趣的可以了解学习
    2024-10-10
  • 小白也可以完成的0基础部署Nginx服务

    小白也可以完成的0基础部署Nginx服务

    这篇文章主要为大家介绍了0基础部署Nginx服务的实现方式,非常简单详细零基础小白跟着做也可以完成,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • Nginx Session共享问题解决方案解析

    Nginx Session共享问题解决方案解析

    这篇文章主要介绍了Nginx Session共享问题解决方案解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • nginx配置wss协议的实现

    nginx配置wss协议的实现

    本文主要介绍了nginx配置wss协议的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • nginx 499错误处理及nginx的配置参数小结

    nginx 499错误处理及nginx的配置参数小结

    在项目容器化改造中,修改Nginx超时设置可解决499错误,本文就来介绍一下nginx 499错误处理及nginx的配置参数小结,感兴趣的可以了解一下
    2024-09-09
  • Nginx正向代理与反向代理详解

    Nginx正向代理与反向代理详解

    Nginx正向代理帮助客户端访问外部资源,常用于翻墙和隐藏IP;反向代理将外部请求转发至内网服务器,用于负载均衡、统一入口及安全隔离,两者核心区别在于代理对象(客户端vs服务端)和目的(访问外部vs服务优化)
    2025-07-07
  • 详解nginx 中location和 proxy_pass的匹配规则

    详解nginx 中location和 proxy_pass的匹配规则

    location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如 proxy_pass)会应用在匹配的请求上,这篇文章主要介绍了nginxlocation和proxy_pass的匹配规则,需要的朋友可以参考下
    2025-04-04
  • 如何解决Nginx请求转发将POST变为GET问题

    如何解决Nginx请求转发将POST变为GET问题

    这篇文章主要介绍了如何解决Nginx请求转发将POST变为GET问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 使用Nginx做静态文件服务器,如何进行权限验证

    使用Nginx做静态文件服务器,如何进行权限验证

    这篇文章主要介绍了使用Nginx做静态文件服务器,如何进行权限验证问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • nginx缓存及错误页面配置

    nginx缓存及错误页面配置

    这篇文章主要介绍了nginx缓存及错误页面配置的相关资料,需要的朋友可以参考下
    2017-01-01

最新评论