PHP FastCGI и "upstream prematurely closed connection"

Сухачев Андрей andrew at comby.com
Fri Apr 6 16:07:49 MSD 2007


Добрый день.

  Столкнулся с тем, что связка nginx + php-fcgi периодически выдает ошибку:

2007/04/06 06:44:09 [error] 5899#0: *5059952 upstream prematurely closed connection while reading response header from upstream, upstream: "fastcgi://127.0.0.1:9000"
  
  Воспроизвести ее не получается :( Вставка трейсов в php-скрипты показало, что до них управление даже
  не доходит. Интересно, с чем это может быть связано и как это обойти?

  PHP запускается через spawn-fast-cgi (20 процессов). Изменение кол-ва процессов (5, 10, 100)
  ситуацию не меняет.
  Конфигурация nginx:
  
worker_processes  2;
events {
    worker_connections  1024;
}
http {
    include         /usr/local/nginx/conf/mime.types;
    default_type    application/octet-stream;
    sendfile        on;
    tcp_nopush        on;
    tcp_nodelay        on;
    keepalive_timeout  70 20;
    gzip on;
    gzip_buffers    8 8k;
    gzip_min_length    1024;
    gzip_types        text/plain application/x-javascript text/css image/gif image/png image/jpeg;
    gzip_comp_level 9;
    proxy_set_header    Host            $host;
    proxy_set_header    X-Real-IP        $remote_addr;

    server {
        listen            delta:80;

        set                $dev_root        "/path/to/files";
        set                $fastcgi_root    "/path/to/www";

        proxy_buffers           64 128k;
        client_max_body_size    100m;
        client_body_buffer_size 10m;

        location ~ "^/rpc$" {
            fastcgi_param    REQUEST_METHOD    $request_method;
            fastcgi_param    CONTENT_TYPE      $content_type;
            fastcgi_param    CONTENT_LENGTH    $content_length;
            fastcgi_param    QUERY_STRING      $query_string;
            fastcgi_param    SCRIPT_FILENAME   "$fastcgi_root/index.php";
            fastcgi_pass     localhost:9000;
        }
    }
}







More information about the nginx-ru mailing list