开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于nginx keep-alive 参数的验证和心得

简介:
+关注继续查看
福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>

用chrome连接nginx服务器(nginx+spero),发现每次请求结果返回给浏览器后,会过一会才会运行

ngx_http_close_connection函数,可以看到nginx返回给chrome的header和结果是:

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 15 Apr 2016 08:39:50 GMT

Content-Type: text/plain

Content-Length: 28

Connection: keep-alive

Keep-Alive: timeout=5


spero return ads, status 200


而通过curl访问,也是返回同样的结果,但是nginx会立刻调用ngx_http_close_connection函数,看起来keep-alive没有起作用,猜测是curl拿到结果后立马主动关闭连接。

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 15 Apr 2016 08:44:11 GMT

Content-Type: text/plain

Content-Length: 28

Connection: keep-alive

Keep-Alive: timeout=5


spero return ads, status 200



那么做一个实验:设置nginx的配置文件,将keep-alive关掉,看看chrome访问时是否ngx_http_close_connection函数立刻被调用?

首先,用命令:keepalive_timeout 0 禁用长连接,则看到header中的Connection为close

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 15 Apr 2016 08:50:05 GMT

Content-Type: text/plain

Content-Length: 28

Connection: close


spero return ads, status 200


同时,在nginx print的log中也可以看到,ngx_http_finalize_request函数之后,ngx_http_close_connection函数立刻就被调用了。


在spero项目中,长连接必须被关闭以支持大并发请求。


本文转自 zhegaozhouji 51CTO博客,原文链接:http://blog.51cto.com/1038741/1764232

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nginx设置Keep-Alive为close
nginx不能在响应头部添加Keep-Alive,详见:http://wiki.nginx.org/HttpCoreModule#keepalive_timeout ? http1.1中默认的keep-alive为connection(使用持久化连接),在http1.0中则默认为close,在大并发量的情况下可能需要将客户端的连接close掉,以保障服务器的正常运转。
1085 0
《深入理解Nginx:模块开发与架构解析》一第2章 Nginx的配置2.1 运行中的Nginx进程间的关系
本节书摘来自华章出版社《深入理解Nginx:模块开发与架构解析》一书中的第2章,第2.1节,作者 陶辉,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1106 0
《深入理解Nginx:模块开发与架构解析》一2.2 Nginx配置的通用语法
本节书摘来自华章出版社《深入理解Nginx:模块开发与架构解析》一书中的第2章,第2.2节,作者 陶辉,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1236 0
《深入理解Nginx:模块开发与架构解析》一2.4 用HTTP核心模块配置一个静态Web服务器
本节书摘来自华章出版社《深入理解Nginx:模块开发与架构解析》一书中的第2章,第2.4节,作者 陶辉,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1387 0
《深入理解Nginx:模块开发与架构解析》一2.5 用HTTP proxy module配置一个反向代理服务器
本节书摘来自华章出版社《深入理解Nginx:模块开发与架构解析》一书中的第2章,第2.5节,作者 陶辉,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1831 0
nginx 配置http重定向到https
在80端口的那个server下,添加如下: server_name www.youwebsite.com youwebsite.com; rewrite ^(.*)$ https://$host$1 permanent; ? 然后访问 www.
882 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
1._Alibaba_Cloud_Whitepaper_-_Data_Security_is_Now_More_Important_Than_Ever
立即下载
3D/AR技术在新零售商业场景中的应用
立即下载


http://www.vxiaotou.com