nginx использует “задержанный” в качестве значения по умолчанию для слушать директивы?

Много сайтов рекомендуют использовать 'задержанный' со слушать директивой для nginx. Действительно ли это необходимо на установке Ubuntu или, "слушают 80" достаточный с 'задержанным' на по умолчанию?

listen 80 default deferred; # for Linux
3
задан 19 July 2011 в 23:49

1 ответ

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, если он не может быть отключен.

5
ответ дан 1 December 2019 в 15:46

Другие вопросы по тегам:

Похожие вопросы: