ПРОЕКТЫ 


  АРХИВ 


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: accept_filter и backlog на непервом default-сервере



Патч помог, спасибо!

Только используется версия 0.6.32, пришлось чуток подправить. 
На всякий случай прилагаю, вдруг кому пригодится :)

On Wednesday 27 August 2008 17:26:43 Igor Sysoev wrote:
> On Wed, Aug 27, 2008 at 03:17:10PM +0400, jackal wrote:
> > Задача:
> > Нужно чтобы один домен на одном айпи a.b.c.d обслуживался одной
> > директивой server, а все остальные домены (на всех айпи, в т.ч. a.b.c.d -
> > другой директивой server)
> >
> > Сделано вот так:
> > server {
> >     listen a.b.c.d:80;
> >     server_name domain.ru;
> >     ...
> > }
> > server {
> >     listen a.b.c.d:80 default accept_filter=httpready backlog=1024;
> >     listen 80 default accept_filter=httpready backlog=1024;
> >     ...
> > }
> >
> > Вопрос - почему не выставляется backlog для айпи a.b.c.d, и выставляется
> > ли accept_filter?
> >
> > # sysctl kern.ipc.somaxconn
> > kern.ipc.somaxconn: 4096
> >
> > # netstat -Lan
> > Current listen queue sizes (qlen/incqlen/maxqlen)
> > Proto Listen         Local Address
> > tcp4  0/0/4096       a.b.c.d.80
> > tcp4  0/0/1024       *.80
>
> Прилагаемый патч должен помочь.



-- 
С уважением, Евгений.
--- src/http/ngx_http.c.orig    2008-03-24 16:04:02.000000000 +0300
+++ src/http/ngx_http.c 2008-08-27 22:11:11.000000000 +0400
@@ -558,6 +558,7 @@
 
                         in_addr[a].core_srv_conf = cscfp[s];
                         in_addr[a].default_server = 1;
+                        in_addr[a].listen_conf = &lscf[l].conf;
                     }
 
                     goto found;


 




Copyright © Lexa Software, 1996-2009.