Nginx设置Keep-Alive为close

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

 

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

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

image

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

 

在本机进行的模拟测试:

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

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

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

image

posted @ 2011-06-07 11:21  meteoric_cry  阅读(28342)  评论(0编辑  收藏  举报