Re: Опции директивы listen

Валентин Бартенев vbart на nginx.com
Чт Фев 4 13:46:53 UTC 2016


On Thursday 04 February 2016 16:44:09 Иван Мишин wrote:
> Приветствую.
> Есть куча хостов, соответственно в конфиге nginx присутствует некоторое
> количество server{ }
> В каждом контексте server прописана директива listen 80;
> В одном месте прописано listen 80 deferred backlog=32768;
> Если я в контексте еще одного server заменю listen 80;  на listen 80
> deferred backlog=32768;
> то nginx начинает ругаться
> nginx: [emerg] duplicate listen options for 0.0.0.0:80 in
> /etc/nginx/nginx.conf:39
> nginx: configuration file /etc/nginx/nginx.conf test failed
> 
> Получается что если я в одном месте прописал  listen 80 deferred
> backlog=32768; то во всех других где прописано  listen 80; автоматически
> используется опция backlog=32768 ? Объясните пожалуйста, не совсем понимаю
> этот момент, а в документации об этом не сказанно.

В документации об этом сказано так:

 | В директиве listen можно также указать несколько дополнительных параметров,
 | специфичных для связанных с сокетами системных вызовов. Эти параметры можно
 | задать в любой директиве listen, но только один раз для указанной пары
 | адрес:порт. 

И далее эти параметры перечислены.

http://nginx.org/ru/docs/http/ngx_http_core_module.html#listen

--
Валентин Бартенев


Подробная информация о списке рассылки nginx-ru