ПРОЕКТЫ 


  АРХИВ 


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: nginx -t и EADDRNOTAVAIL



On Sun, Sep 21, 2008 at 04:55:56PM +0200, Roxis wrote:

> On Sunday 21 September 2008, Igor Sysoev wrote:
> > On Sun, Sep 21, 2008 at 04:30:42PM +0200, Roxis wrote:
> > > On Sunday 21 September 2008, Sergey Smitienko wrote:
> > > > Посмотри в этот момент "ifconfig -a | grep inet" и "netstat -an | grep
> > > > 80". Похоже что у тебя нет IP 80.80.80.80 на машине ни на каком
> > > > интерфейсе. Возможно ошибка в config-файле и надо поменять строку
> > > > 80.80.80.80:80 на 0.0.0.0:80  ?
> > >
> > > да, имеенно, ошибка в config-файле.
> > > а nginx -t выводит ... syntax is ok
> >
> > Ну так syntax-то действительно ok - 80.80.80.80:80 - вполне валидный адрес.
> > nginx теструет конфиг в два этапа: сначала парсинг (синтаксис), а потом
> > пытается конифигурацию применить (test): открывает файлы, байндится и
> > прочее.
> 
> тогда дополнение
> если в системе нет юзера/группы nginx не выводит
> "syntax is ok"
> 
> # nginx -t
> 2008/09/21 16:55:15 [emerg] 3884#0: getgrnam("test") failed 
> in /usr/nginx/conf/nginx.conf:2
> 2008/09/21 16:55:15 [emerg] 3884#0: the configuration 
> file /usr/nginx/conf/nginx.conf test failed

Какие-то вещи можно проверить на стадии парсинга конфига. В случае
юзера/группы сразу определяется номер пользователя. То же происходит
с резолвингом имён. А, например, bind() делается только после разбора
всего конфига, потому что можно байндиться к *:80, а можно к конкретным
адресам, если *:80 не оказалось.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.