前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何为Nginx配置keep-alive超时时间?

如何为Nginx配置keep-alive超时时间?

作者头像
用户1560186
发布2019-11-20 17:09:14
13.5K0
发布2019-11-20 17:09:14
举报
文章被收录于专栏:运维录运维录
开始之前
这篇文章发布于2013年,介绍如何为nginx配置 keep-alive超时时间,Nginx 默认支持 HTTP协议的 keep-alive持续连接(长连接)功能,其默认的超时时间为75秒,在此期间内后续的http请求可以复用已建立的TCP连接,从而节省新建TCP连接握手的时间与资源。

不过就像所有事物都有两面性,keep-alive 在某些场景可能也会有不足之处,例如就算是在空闲状态下它还是会消耗服务器资源,因此你可以根据自己的实际需求调整 keep-alive的超时时间,比如调整某台负载较高的nginx服务器 keep-alive 超时时间调整为 30秒。

让我们先来看下nginx返回的响应头信息

代码语言:javascript
复制
curl -IL http://zongming.net/404.html

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 19 Mar 2013 09:40:24 GMT
Content-Type: text/html; charset=utf8
Content-Length: 211
Last-Modified: Sun, 17 Feb 2013 07:44:39 GMT
Connection: keep-alive
Accept-Ranges: bytes

注意 Connection: keep-alive HTTP 头部信息。

配置 Nginx

1. 编辑 nginx.conf 配置文件

设置 keepalive_timeout 两个参数值为 30,指令详细信息后面说明。

代码语言:javascript
复制
grep 'keepalive_timeout' /etc/nginx/nginx.conf
  keepalive_timeout 30 30;

2. 重启 nginx

代码语言:javascript
复制
nginx -t && nginx reload

3. 验证 keep-alive

代码语言:javascript
复制
curl -IL http://zongming.net/404.html

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 19 Mar 2013 09:42:16 GMT
Content-Type: text/html; charset=utf8
Content-Length: 211
Last-Modified: Sun, 17 Feb 2013 07:44:39 GMT
Connection: keep-alive
Keep-Alive: timeout=30
Accept-Ranges: bytes

这次 nginx返回的响应头信息稍有些不同,http响应头多了一个 Keep-Alive字段用于输出 keep-alive 超时信息。

keepalive_timeout 指令

代码语言:javascript
复制
语法: keepalive_timeout timeout [header_timeout]
默认值: keepalive_timeout 75s;
使用字段: http, server, location
参数:
参数1指定了客户端与服务器 keep-alive的超时时间,值为0将禁用 keep-alive功能。
参数2(可选)在HTTP响应头"Keep-Alive: timeout=time" 字段中设置一个值。

小结

最后来总结下文章中的知识点

  • 使用 keepalive_timeout 指令,配置 nginx的 keep-alive超时时间。
  • 参数1值设置为0禁用keep-alive,表现为http响应头 Connection: close
  • 参数2为可选,如不需要可以省略。这两个参数值可以不相同。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置 Nginx
  • keepalive_timeout 指令
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档