ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nginx: configuration file test failed



Здравствуйте!

тестирование конфигурации завершается с сообщением про ошибку:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] listen() to 11.22.33.44:80, backlog 1024 failed (98: Address already in use)
nginx: configuration file /etc/nginx/nginx.conf test failed

в логах при этом только:

2012/12/26 15:15:29 [debug] 24975#0: bind() 11.22.33.44:80 #101
2012/12/26 15:15:29 [emerg] 24975#0: listen() to 11.22.33.44:80, backlog 1024 failed (98: Address already in use)

в конфиге:

nginx.conf:

include /etc/nginx/conf/virtual/*;

в файле /etc/nginx/conf/virtual/zzz-default-server-zzz:

server {
    listen    11.22.33.44:80 default_server backlog=1024;
    server_name default-server;
    return 403;
}

во всех остальных конфигурационных файлах в каталоге virtual
только директива listen 11.22.33.44:80 без "backlog" и "default_server".

nginx version: nginx/1.2.6, сторонних модулей нет.

вопрос: что я делаю неправильно, и почему
configuration file test failed, если configuration file syntax is ok?

может быть есть какой-то ключ командной строки, чтобы nginx
не пытался открывать порты, потому что в это самое время другой
экземпляр nginx запущен и работает, слушая эти же самые порты.

P.S. на самом деле эта ошибка появляется при попытке сделать
"service nginx reload", перед "kill -HUP" команда "nginx -t"
завершается с ошибкой.

workaround понятен - не делать "nginx -t"
перед тем как делаю reload, но смысл тогда в команде
"nginx -t" если она практически всегда будет завершаться
с ошибкой? и как тогда можно протестировать конфиг на предмет
наличия синтаксических ошибок в нем, если "nginx -t" работает
не так как ожидалось, всегда завершаясь с кодом ошибки...

P.P.S операционная система - Linux,
OpenVZ ядро версии 2.6.32-042stab068.8,
контейнер 64-битный.

по крайней мере у апача ключ командной строки -t
работает ожидаемым образом, тестирует свой конфиг
только на предмет наличия в нем синтаксических ошибок,
не пытаясь открывать порты (которые могут быть заняты)

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.