Bugs in nginx

Friends, help deal with nginx. I can not go to the site.

502 Bad Gateway
nginx/0.7.61

ee /var/log/nginx-error.log

2009/09/10 14:58:19 734#0: *3 upstream prematurely closed connection
while reading response header from upstream, client: 10.10.10.10,
server: xxx.net, request: “GET / HTTP/1.1”, upstream:
“fastcgi://127.0.0.1:9000”, host: “xxx.net

ee /usr/local/etc/nginx/nginx.conf

user www;
worker_processes 3;

pid /var/run/nginx.pid;
worker_rlimit_nofile 1000;

events {
worker_connections 2000;
}

http {
include mime.types;
default_type application/octet-stream;

tcp_nopush     on;
tcp_nodelay    on;
keepalive_timeout  65;
server_names_hash_max_size 2048;
server_names_hash_bucket_size 128;

sendfile on;
gzip  on;

gzip_min_length 2048;
gzip_types text/css text/js text/xml;

client_max_body_size 10m;
large_client_header_buffers 4 8k;

log_format main      '$remote_addr - $remote_user [$time_local] '
                     '"$request"'
                     '"$http_referer" "$http_user_agent" 

“$gzip_ratio”’;

server {
    listen       80;
    server_name xxx.net;
    access_log   /var/log/nginx.access_log  main;

    charset windows-1251;
    client_max_body_size    25m;

    location / {
        root   /usr/local/www/web1;
        index  index.html index.php;
    }

    location ~* \.php$ {
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 1024k;
        fastcgi_buffers 4 1024k;
        fastcgi_busy_buffers_size 1024k;
        fastcgi_temp_file_write_size 1024k;
        fastcgi_temp_path /tmp;

        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME 

/usr/local/www/web1$fastcgi_script_name;
include fastcgi_params;
}
}
}

ee /usr/local/etc/php-fpm.conf

<?xml version="1.0" ?>
    All relative paths in this config are relative to php's install 

prefix

            Pid file
            /var/run/php-fpm.pid

            Error log file
            /var/log/php-fpm.log

            Log level
            notice

            When this amount of php processes exited with SIGSEGV or 

SIGBUS …
10

            ... in a less than this interval of time, a graceful 

restart will be initiated.
Useful to work around accidental curruptions in
accelerator’s shared memory.
1m

            Time limit on waiting child's reaction on signals from 

master
5s

            Set to 'no' to debug fpm
            yes







                    Name of pool. Used in logs and stats.
                    default

                    Address to accept fastcgi requests on.
                    Valid syntax is 'ip.ad.re.ss:port' or just 

‘port’ or ‘/path/to/unix/socket’
127.0.0.1:9000

                            Set listen(2) backlog
                            -1

                            Set permissions for unix socket, if one 

used.
In Linux read/write permissions must be
set in order to allow connections from web server.
Many BSD-derrived systems allow
connections regardless of permissions.

                            0666


                    Additional php.ini defines, specific to this 

pool of workers.

            <!--            /usr/sbin/sendmail -t -i            -->
            <!--            0 

–>

                    Unix user of processes
                    www

                    Unix group of processes
                    www

                    Process manager settings


                            Sets style of controling worker process 

count.
Valid values are ‘static’ and
‘apache-like’
static

                            Sets the limit on the number of 

simultaneous requests that will be served.
Equivalent to Apache MaxClients
directive.
Equivalent to PHP_FCGI_CHILDREN
environment in original php.fcgi
Used with any pm_style.
5

                            Settings group for 'apache-like' pm 

style

                                    Sets the number of server 

processes created on startup.
Used only when ‘apache-like’
pm_style is selected
20

                                    Sets the desired minimum number 

of idle server processes.
Used only when ‘apache-like’
pm_style is selected
5

                                    Sets the desired maximum number 

of idle server processes.
Used only when ‘apache-like’
pm_style is selected
35

                    The timeout (in seconds) for serving a single 

request after which the worker process will be terminated
Should be used when ‘max_execution_time’ ini
option does not stop script execution for some reason
‘0s’ means ‘off’
0s

                    The timeout (in seconds) for serving of single 

request after which a php backtrace will be dumped to slow.log file
‘0s’ means ‘off’

                    5s

                    The log file for slow requests
                    /var/log/php-slow.log

                    Set open file desc rlimit
                    1024

                    Set max core size rlimit
                    0

                    Chroot to this directory at the start, absolute 

path

                    Chdir to this directory at the start, absolute 

path

                    Redirect workers' stdout and stderr into main 

error log.
If not set, they will be redirected to
/dev/null, according to FastCGI specs
yes

                    How much requests each process should execute 

before respawn.
Useful to work around memory leaks in 3rd party
libraries.
For endless request processing please specify 0
Equivalent to PHP_FCGI_MAX_REQUESTS
1500

                    Comma separated list of ipv4 addresses of 

FastCGI clients that allowed to connect.
Equivalent to FCGI_WEB_SERVER_ADDRS environment
in original php.fcgi (5.2.2+)
Makes sense only with AF_INET listening socket.
127.0.0.1

                    Pass environment variables like LD_LIBRARY_PATH
                    All $VARIABLEs are taken from current 

environment

                            $HOSTNAME
                            /usr/local/bin:/usr/bin:/bin
                            /tmp
                            /tmp
                            /tmp
                            $OSTYPE
                            $MACHTYPE
                            2

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,6245,6245#msg-6245

Hello!

On Thu, Sep 10, 2009 at 06:29:18AM -0400, gloomen wrote:

Friends, help deal with nginx. I can not go to the site.

502 Bad Gateway
nginx/0.7.61

ee /var/log/nginx-error.log

2009/09/10 14:58:19 734#0: *3 upstream prematurely closed connection while reading response header from upstream, client: 10.10.10.10, server: xxx.net, request: “GET / HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “xxx.net

So upstream probably just died. Likely to be php-related issue,
try looking there.

Anyway it isn’t “bugs in nginx”.

Maxim D.

On Thu, Sep 10, 2009 at 03:10:05PM +0400, Maxim D. wrote:

2009/09/10 14:58:19 734#0: *3 upstream prematurely closed connection while reading response header from upstream, client: 10.10.10.10, server: xxx.net, request: “GET / HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “xxx.net

So upstream probably just died. Likely to be php-related issue,
try looking there.

Anyway it isn’t “bugs in nginx”.

There is one nginx fastcgi bug when fastcgi sends very large headers.
The attached patch fixes this. In other cases it’s more like backend
error.

Ошибка, сохраняется посей день, я вас очень прошу Игорь, напишите
пожалуйста по русски, где что заменеть.

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,6245,6350#msg-6350

2009/9/10 Igor S. [email protected]

Anyway it isn’t “bugs in nginx”.

There is one nginx fastcgi bug when fastcgi sends very large headers.
The attached patch fixes this. In other cases it’s more like backend error.

and I assume this problem is only for fastcgi? (ie., not happening for
http
proxies)

-jf

А, лучше скажите есть ли какая нить версия где сей бак уже исправлен?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,6245,6363#msg-6363

On Thu, Sep 10, 2009 at 02:11:35PM -0400, gloomen wrote:

ïÛÉÂËÁ, ÓÏÈÒÁÎÑÅÔÓÑ ÐÏÓÅÊ ÄÅÎØ, Ñ ×ÁÓ ÏÞÅÎØ ÐÒÏÛÕ éÇÏÒØ, ÎÁÐÉÛÉÔÅ ÐÏÖÁÌÕÊÓÔÁ ÐÏ ÒÕÓÓËÉ, ÇÄÅ ÞÔÏ ÚÁÍÅÎÅÔØ.

This is English only forum, linked to English mailling list.
However, you may use recently open Russian forum, linked to Russian
mailling list:
http://forum.nginx.org/list.php?21

On Fri, Sep 11, 2009 at 08:56:13AM +0800, Jeffrey ‘jf’ Lim wrote:

502 Bad Gateway
try looking there.

Anyway it isn’t “bugs in nginx”.

There is one nginx fastcgi bug when fastcgi sends very large headers.
The attached patch fixes this. In other cases it’s more like backend error.

and I assume this problem is only for fastcgi? (ie., not happening for http
proxies)

Yes, this is fastcgi only bug.

Igor, and when the update will be released which will Fixed this error?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,6245,6431#msg-6431

On Fri, Sep 11, 2009 at 04:01:54AM -0400, gloomen wrote:

Igor, and when the update will be released which will Fixed this error?

The bug is fixed in

Changes with nginx 0.8.8 10 Aug
2009

*) Bugfix: in handling FastCGI headers split in records.

In the next Monday it will be merged in 0.7.62. I sent you a patch
that fixes the bug in nginx. If you still see this error, then this is
your backend problem, but not nginx’s one.

Monday has arrived!
When you see the version of nginx 0.7.62.?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,6245,6810#msg-6810

On Mon, Sep 14, 2009 at 04:37:23AM -0400, gloomen wrote:

Monday has arrived!
When you see the version of nginx 0.7.62.?

It’s ready.

Спасибо, Игорь…всё работает!

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,6245,7057#msg-7057