Много сайтов рекомендуют использовать 'задержанный' со слушать директивой для nginx. Действительно ли это необходимо на установке Ubuntu или, "слушают 80" достаточный с 'задержанным' на по умолчанию?
listen 80 default deferred; # for Linux
deferred
не включен по умолчанию на Ubuntu, нет никакого патча, который включает ее по умолчанию.
Ниже моя попытка получить понимание того, что делает опция.
Из ссылки по http://wiki.nginx.org/HttpCoreModule#listen:
задержанный - указывает для использования отложенного
accept(2)
на Linux при помощи опции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, если он не может быть отключен.