许多站点建议在nginx的listen指令中使用“延迟”。这在Ubuntu安装中是必要的,还是默认情况下“聆听80”和‘延迟’就足够了?
listen 80 default deferred; # for Linux发布于 2011-07-19 20:36:50
在Ubuntu上,默认情况下不启用deferred,默认情况下也没有支持它的修补程序。
下面是我试着去了解这个选项的作用。
来自http://wiki.nginx.org/HttpCoreModule#listen的引用:
延迟--指示在Linux上使用延迟的
accept(2),并借助选项TCP_DEFER_ACCEPT。
对,它指的是手册页accept,第2节-系统调用(由内核提供的函数)。不幸的是,我在手册中找不到关于它的影响的任何信息,所以我开始挖掘源代码(apt-get source nginx)。
该选项在nginx-0.8.54/src/http/ngx_http_core_module.c:3534中启用。如果不支持deffered accept,那么在启动时应该会收到一条错误消息:
延迟接受在此平台上不受支持,被忽略。
在这一点上,我停止了进一步搜索。如果deferred无法禁用,默认情况下在nginx中启用它是没有意义的。
https://askubuntu.com/questions/53760
复制相似问题