nginx crash

MagicBear magicbearmo at gmail.com
Mon Nov 14 16:57:02 UTC 2011


Hello,

I think is also not relative to crash, when I increase the zone key
size, crash hasn't happen again (but my upstream are also up), so I
still unknown where has the crash happen.
Just I had update all of my server to 1.1.8, I want to test for your
config because some of my server has running dynamic page, and they
aren't return the Content-Length.

2011/11/15 Maxim Dounin <mdounin at mdounin.ru>:
> Hello!
>
> On Tue, Nov 15, 2011 at 12:13:21AM +0800, ビリビリⅤ wrote:
>
>> Hello,
>>
>> first I haven't use proxy_http_version 1.1;
>>
>> and all of those server are only running on http proxy, and the crash
>> happen on static file only, it will contain Content-Length headers.
>>
>> I will try to change proxy_http_version to 1.1 to test, thanks for your advices.
>
> It's completely unrelated to the crash.
>
> Maxim Dounin
>
>>
>> 2011/11/14 Maxim Dounin <mdounin at mdounin.ru>:
>> > Hello!
>> >
>> > On Sun, Nov 13, 2011 at 11:16:56PM +0000, António P. P. Almeida wrote:
>> >
>> >>
>> >> On 12 Nov 2011 14h07 WET, magicbearmo at gmail.com wrote:
>> >>
>> >> > happen on a of main upstream server dead.
>> >> >
>> >> > Here is the config
>> >> >
>> >> > proxy_cache_path /dev/shm/cdn_cache_comment levels=1:2
>> >> > keys_zone=cache_comment_mem:32m max_size=128m; limit_req_zone
>> >> > $binary_remote_addr zone=limit_comment:16m rate=50r/s;
>> >> >
>> >> > upstream backend_comment {
>> >> >     server 10.0.0.1 weight=10 fail_timeout=30s;
>> >> >     server 10.0.0.2 backup weight=5 fail_timeout=30s;
>> >> >     keepalive 30;
>> >>         ^^^^^^^^^^^^^
>> >> I believe you have to use:
>> >>
>> >> proxy_http_version 1.1;
>> >>
>> >> in the location that invoke this upstream for getting keep alive to
>> >> the backends. AFAIK this is undocumented and would be nice if Maxim
>> >> can shed some light on this issue.
>> >
>> > Keepalive connections are possible with HTTP/1.0 as well.  There
>> > are some problems with them though:
>> >
>> > 1. There is no standard which defines keepalive connections in
>> > HTTP/1.0.  It works with major web servers (including nginx), but
>> > may not work with others.
>> >
>> > 2. In HTTP/1.0 connection can't be kept alive if response
>> > Content-Length isn't known (as response end is signalled by
>> > connection close).
>> >
>> > Due to the above reasons I would recommend using HTTP/1.1 to keep
>> > backend connections alive.  But it doesn't mean they aren't
>> > possible (and I'm quite sure MagicBear's config works as expected).
>> >
>> > The required thing is
>> >
>> >    proxy_set_header Connection "";
>> >
>> > in case of HTTP/1.1, or
>> >
>> >    proxy_set_header Connection "keep-alive";
>> >
>> > in case of HTTP/1.0.
>> >
>> > (Well, "Connection: keep-alive" will work in HTTP/1.1 case as
>> > well, actually.  But an empty string is enough.)
>> >
>> >> Ditto for:
>> >>
>> >> fastcgi_keep_conn on;
>> >>
>> >> in the case of FCGI upstreams.
>> >
>> > The fastcgi_keep_conn directive is required to keep connections
>> > alive with fastcgi upstreams.  It instructs nginx to claim
>> > responsibility of closing connection with appropriate flag in
>> > fastcgi protocol.  Without this directive connection will be
>> > closed by fastcgi application (upstream) and it won't be possible
>> > to keep it alive.
>> >
>> > Maxim Dounin
>> >
>> > _______________________________________________
>> > nginx-devel mailing list
>> > nginx-devel at nginx.org
>> > http://mailman.nginx.org/mailman/listinfo/nginx-devel
>>
>> _______________________________________________
>> nginx-devel mailing list
>> nginx-devel at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-devel
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel



-- 
MagicBear



More information about the nginx-devel mailing list