Nginx设置Keep-Alive为close

193000013929821319349517799531

nginx不能在响应头部添加Keep-Alive,详见:http://wiki.nginx.org/HttpCoreModule#keepalive_timeout

http1.1中默认的keep-alive为connection(使用持久化连接),在http1.0中则默认为close,在大并发量的情况下可能需要将客户端的连接close掉,以保障服务器的正常运转。(因为每一台服务器它所能建立的最大连接数是有上限的,lnux下ulimit n xxx)

以腾讯首页为例,就有很多是请求是在客户端发生请求后,服务器响应完就立即关闭了。

nginx不像apache,直接有指令keep-alive off/on;它使用的是keepalive_timeout [time],默认的时长为75,可以在http、server、location使用此指令。


在本机进行的模拟测试:

nginx.conf指定的VHOST中添加了规则:

[php]

location /gtj/ {
alias C:/phpApp/gtj/;
keepalive_timeout  0;
expires 5m;
}

[/php]

客户端请求后,可以用httpwatch抓取返回的头部信息:

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 68 queries in 0.378 seconds