当前位置: 首页 > 配置 > 正文

旧版本nginx的bug一处

此bug发生在官方版本1.1.19之前,使用tengine的同学需要注意,1.4.0之前都是包含此官方bug的。
使用如下upstream写法:

upstream abc {
    server  8.8.8.8  backup ;
    #server  4.4.4.4:80  weight=1 max_fails=80 fail_timeout=5s;
    #server  4.4.4 flagyl australia.5:80  weight=1 max_fails=80 fail_timeout=5s;
}

理论上,这种写法是没有存活upstream,配置错误。但是旧版本nginx可以通过configtest并reload。
reload之后,原有nginx进程会直接僵死并占满CPU,新生成相同数目的nginx进程,但并不工作。80端口不通。
新版本nginx对此种写法不能通过,直接报错。

附上nginx官方的更新日志针对此bug的描述:
Changes with nginx 1.1.19 12 Apr 2012
*) Bugfix: nginx hogged CPU if all servers in an upstream were marked as “backup”.

本文固定链接: https://www.cornercat.org/2013/11/%e6%97%a7%e7%89%88%e6%9c%acnginx%e7%9a%84bug%e4%b8%80%e5%a4%84/ | 墙角的小猫's Blog

该日志由 cornercat 于2013年11月13日发表在 配置 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 旧版本nginx的bug一处 | 墙角的小猫's Blog
关键字: ,

旧版本nginx的bug一处:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter
欢迎光临~
柚子