Re: nginx не стартует если сокет существует
Konstantin Svist
fry.kun на gmail.com
Чт Дек 10 03:58:30 MSK 2009
Сокеты не убираются при остановки:
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/20091209/76bbece8/attachment.html>
Подробная информация о списке рассылки nginx-ru