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;
|