ПРОЕКТЫ 


  АРХИВ 


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]

Re: [bugreport] nginx -t возвращает 0 код завершения при налич ии ошибок в конфиге


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: [bugreport] nginx -t возвращает 0 код завершения при налич ии ошибок в конфиге
  • From: Gena Makhomed <gmm@xxxxxxxxx>
  • Date: Fri, 06 Aug 2010 02:43:19 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1281051800; bh=5YtOrIhnkkoQKXKSwsWGSF8Wl+X3v5Z2uB00Du5EfwM=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=B iX7+u9x0GKi1gCikwMtOwQ5gooW+TVsRLCmi3C//CT2q3LeZ5mSwd5/7lOrWsEVrWNT PVJCObao1QCP58QU2rd/amd7wVz255U5CzOX69S848pQ7Qmkwda0Zs2WTq81uPt0zrL wPJHoMZO9Jwstv2dC/RMCVugDyT1jRskzS8I=
  • In-reply-to: <4C5B4583.7070003@xxxxxxxxx>
  • References: <4C5B3F29.3060300@xxxxxxxxx> <4C5B4583.7070003@xxxxxxxxx>

On 06.08.2010 2:13, Anton Yuzhaninov wrote:

случайно сделал несколько ошибок в конфиге,
но nginx -t вернул 0 код завершения:

# nginx -t ; echo $?
[warn]: conflicting server name "example.com" on ip:80, ignored
[warn]: conflicting server name "*.example.com" on ip:80, ignored
the configuration file /etc/nginx/conf/nginx.conf syntax is ok
configuration file /etc/nginx/conf/nginx.conf test is successful
0

Это не фатальные ошибки и с ними nginx может запуститься и работать.

может. только вот он игнорирует тот server { ... } который будет вторым.
для конфигов с ошибками лучше бы nginx -t выдавал сообщение про ошибку и возвращал ненулевой код возврата, чем 0 и "syntax is ok". нет разве?


В случае фатальных ошибок exit code не равен нулю.


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

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

P.S.

очень не хочется парсить вывод nginx -t чтобы понять были
найдены ошибки в процессе тестирования конфига или нет...

--
Best regards,
 Gena


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


 




Copyright © Lexa Software, 1996-2009.