Re: nginx не стартует если сокет существует

Konstantin Svist fry.kun на gmail.com
Вт Мар 16 19:51:28 MSK 2010


Нет ешё багфикса?
Я всё ещё с killall мучаюсь :(


On 12/09/2009 04:58 PM, Konstantin Svist wrote:
> Сокеты не убираются при остановки:
>
> src/core/ngx_connection.c:  ngx_close_listening_sockets() не запускает
> этот код:
>
>     #if (NGX_HAVE_UNIX_DOMAIN)
>
>             if (ls[i].sockaddr->sa_family == AF_UNIX
>                 && ngx_process <= NGX_PROCESS_MASTER
>                 && ngx_new_binary == 0)
>             {
>                 u_char *name = ls[i].addr_text.data + sizeof("unix:") - 1;
>
>                 if (ngx_delete_file(name) == -1) {
>                     ngx_log_error(NGX_LOG_EMERG, cycle->log,
>     ngx_socket_errno,
>                                   ngx_delete_file_n " %s failed", name);
>                 }
>             }
>
>     #endif
>
>
> хотя защищена от работников, к тому времени когда главный процесс
> запускает  ngx_close_listening_sockets(ngx_cycle_t *cycle),   
> cycle->listening.nelts == 0
>
>
>
>
> On 12/08/2009 06:18 PM, Konstantin Svist wrote:
>> P.S. v 0.8.29
>>
>> также если kill -HUP <pid>
>>
>> 2009/12/08 18:13:30 [alert] 16692#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16692#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16691#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16691#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16693#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16693#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16694#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16694#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16695#0: epoll_ctl(1, 32667) failed (9:
>> Bad file descriptor)
>> 2009/12/08 18:13:30 [alert] 16695#0: failed to register channel
>> handler while initializing push module worker (9: Bad file descriptor)
>> 2009/12/08 18:13:30 [alert] 16696#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16696#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16697#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16697#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16698#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16698#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16700#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16700#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16699#0: epoll_ctl(1, 0) failed (1:
>> Operation not permitted)
>> 2009/12/08 18:13:30 [alert] 16699#0: failed to register channel
>> handler while initializing push module worker (1: Operation not
>> permitted)
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16691 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16692 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16693 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16694 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16695 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16696 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16697 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16698 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16700 exited with
>> fatal code 2 and can not be respawn
>> 2009/12/08 18:13:30 [alert] 16650#0: worker process 16699 exited with
>> fatal code 2 and can not be respawn
>>
>>
>>
>> On 12/08/2009 06:09 PM, Konstantin Svist wrote:
>>> config:
>>> server {
>>>   listen unix:/tmp/nginx.sock;
>>>  ...
>>>
>>>
>>> kill -s QUIT <pid>
>>> ./nginx -c ... не стартует
>>>
>>> в error.log:
>>> 2009/12/08 18:04:05 [emerg] 13822#0: bind() to unix:/tmp/nginx.sock
>>> failed (98: Address already in use)
>>>
>>>
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100316/9aee5a4d/attachment.html>


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