nginx + php-cgi - не держат нагрузку

Arceny arceny at yandex.ru
Thu Oct 2 01:23:18 MSD 2008


Здравствуйте.

Имеется nginx/0.5.35 и за ним apache бекендом на достаточно
высоконагруженом сервере. Захотели перейти на fcgi.

Система Debian 4.0 + backports,  поставили php-fcgi из бекпортов,
работает со следующим /etc/default/php-fastcgi:

EXEC_AS_USER=www-data
FCGI_HOST=localhost
FCGI_PORT=9000
PHP_FCGI_CHILDREN=6
PHP_FCGI_MAX_REQUESTS=1000

при работе соответственно висят 6 процессов типа
31572 ?        Ss     0:00 /usr/bin/php-cgi -q -b localhost:9000

Конфигурация nginx:

user www-data;
worker_processes  8;
error_log  /dev/null;
pid        /var/run/nginx.pid;
events {
    worker_connections  4096;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    tcp_nodelay        on;
    client_max_body_size 10m;
    gzip  on;
    gzip_comp_level 3;
    gzip_proxied any;
    include /etc/nginx/sites-enabled/default;
}

Часть конфига, отвечающая за мой виртуалхост с пробросом на fcgi:

server {
 listen  10.196.0.18:80;
 server_name torrent.b-metro.net www.torrent.b-metro.net;
 access_log off;
 index index.html index.php;

 location ~ (\.php(/.+)?$|^/$) {
   fastcgi_pass 127.0.0.1:9000;
   fastcgi_index   index.php;
   include /etc/nginx/fastcgi_params;
 }
location ~* \.(jpg|jpeg|png|gif|htm|html|js|txt|css|mp3|rar|bmp|zip|bz2|
gz)$ { root /home/torrent/www/;
  autoindex on;
  }
}

ОПИСАНИЕ ПРОБЛЕМЫ:
получаю ошибку 504 gateway timeout, при этом глядя в top вижу, что
нагрузки на php-cgi нету, на mysql нету, ни на что нету. При этом
сайты, для которых бекендом остался апач прекрасно отдаются, то есть
проблема в php-cgi явно. Не подскажете куда копать?

P.S. Если нужно ещё /etc/nginx/fastcgi_params (дефалтный)

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

-- 
 01:15:10 up 6 days,  3:17,  5 users,  load average: 0.30, 0.26, 0.20


More information about the nginx-ru mailing list