ПРОЕКТЫ 


  АРХИВ 


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 + default {deferred|b ind} = корки



On Tue, May 29, 2007 at 06:02:29PM +0400, Александр Ворона wrote:

> Alex Vorona пишет:
> >nest tmp # cat ./nginx.conf
> >user  apache apache;
> >
> >worker_processes  1;
> >
> >error_log /dev/null;
> >events {
> >       worker_connections  1000;
> >       use epoll;
> >}
> >
> >http {
> >
> >       server {
> >               listen          127.0.0.1:80;
> >
> >               access_log      off;
> >               error_log       /dev/null;
> >               stub_status on;
> >       }
> >
> >       server{
> >           listen      80 default deferred;
> >#            listen      80 default;
> >
> >       }
> >
> >}
> >nest tmp # ./nginx -t -c ./nginx.conf
> >2007/05/21 08:09:43 [info] 1416#0: the configuration file ./nginx.conf 
> >syntax is ok
> >2007/05/21 08:09:43 [info] 1416#0: the configuration file ./nginx.conf 
> >was tested successfully
> >nest tmp # ./nginx -c ./nginx.conf
> >Ошибка сегментирования (core dumped)

Прилагаемый патч должее пофиксить segfault.

> >nest tmp # uname -srm
> >Linux 2.6.20.3-grsec x86_64
> >
> >аналогичное поведение при замене deferred на bind
> >
> 
> на i386 - ругань в логи после попытки запуска
> 2007/05/29 08:59:28 [emerg] 12979#0: bind() to 127.0.0.1:80 failed (98:
> Address already in use)
> 2007/05/29 08:59:28 [emerg] 12979#0: still could not bind()
> 
> Это вообще нормальное поведение при таком конфиге? Как я понимаю,
> проблема в неверном порядке bind()

FreeBSD позволяет bind() to 127.0.0.1:80 и *:80 в любом порядке.
Насчёт Линукса - нужно проверить.


-- 
Игорь Сысоев
http://sysoev.ru
Index: src/core/ngx_connection.c
===================================================================
--- src/core/ngx_connection.c   (revision 539)
+++ src/core/ngx_connection.c   (working copy)
@@ -406,7 +406,7 @@
                 ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_socket_errno,
                               "changing the listen() backlog to %d "
                               "for %V failed, ignored",
-                              &ls[i].addr_text, ls[i].backlog);
+                              ls[i].backlog, &ls[i].addr_text);
             }
         }
 


 




Copyright © Lexa Software, 1996-2009.