这个选项是用来配置是否长连接的,其实原理和apache是一样的,关于apache中keepalive 相关设置请参考 http://www.lishiming.net/thread-919-1-1.html
但是nginx中的该参数没有on与off的开关,只能去设置超时的时间长短。默认如果不设置该参数的话,系统会设置为75s。
当设置为
keepalive_timeout 0;
此时就关闭了长连接。不妨简单测试一下:
curl -I -v http://localhost:80
结果为:这里的 Connection状态为 close,意思是已经关闭连接。
当设置为
keepalive_timeout 10;
再次
curl -I -v http://localhost:80
结果为:这里的connection 状态为 keep-alive
至于,如何配置这个参数呢?这主要看你网站的访问量以及内容,就像是在 http://www.lishiming.net/thread-919-1-1.html 这篇帖子中提及的,分三种情况吧。
但是,本人还是建议你设置为0,即关闭长连接。
但是nginx中的该参数没有on与off的开关,只能去设置超时的时间长短。默认如果不设置该参数的话,系统会设置为75s。
当设置为
keepalive_timeout 0;
此时就关闭了长连接。不妨简单测试一下:
curl -I -v http://localhost:80
结果为:
- HTTP/1.1 200 OK
- < Server: nginx/1.0.0
- Server: nginx/1.0.0
- < Date: Tue, 29 Nov 2011 04:25:24 GMT
- Date: Tue, 29 Nov 2011 04:25:24 GMT
- < Content-Type: text/html; charset=gb2312
- Content-Type: text/html; charset=gb2312
- < Connection: close
- Connection: close
- < X-Powered-By: PHP/5.2.8
- X-Powered-By: PHP/5.2.8
- * Closing connection #0
当设置为
keepalive_timeout 10;
再次
curl -I -v http://localhost:80
结果为:
- HTTP/1.1 200 OK
- < Server: nginx/1.0.0
- Server: nginx/1.0.0
- < Date: Tue, 29 Nov 2011 04:27:31 GMT
- Date: Tue, 29 Nov 2011 04:27:31 GMT
- < Content-Type: text/html; charset=gb2312
- Content-Type: text/html; charset=gb2312
- < Connection: keep-alive
- Connection: keep-alive
- < X-Powered-By: PHP/5.2.8
- X-Powered-By: PHP/5.2.8
- * no chunk, no close, no size. Assume close to signal end
- <
- * Closing connection #0
至于,如何配置这个参数呢?这主要看你网站的访问量以及内容,就像是在 http://www.lishiming.net/thread-919-1-1.html 这篇帖子中提及的,分三种情况吧。
但是,本人还是建议你设置为0,即关闭长连接。
编辑回复