ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: nginx + php-cgi - не держат н агрузку
  • From: Андрей <deepmindster@xxxxxxxxx>
  • Date: Thu, 02 Oct 2008 11:29:40 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=uf4sHgUi0rKayHMTiU8lEjRBRV+uMTQ3KkUUqIX2RXM=; b=cS+tJKLGfg7m1Ru745Ib1RP8Z0ce/3pLdV0wD5JjuajZM9yDlGice+Mj2CV2EtNHVz R2KQsXVfAmWoe0a7CaQ7ULYwO2eDlyhun5vha0uA0IUwaUhPaX/eAaLp1R3Hj1KesgUK aZ07YNp/7gpb2JYBOlWbtDDRNeWKbTaDtnjQo=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=ITLJsFHHU7kcH5bGB3QvIi3jzp+6dAH840pcsLbeDJAqRjtXPdLO6YGHCnP1rXX95O ZfFoGLYdFbOxqBIfuiCCCPsUzWN5I0Ivq4pHPpfw+GmSX9JiPkXL8bCgcwpb5r6khmQf Zz/OVJYtCaw7P8zLVw1TI9IxoAnv0gsYSNWNc=
  • In-reply-to: <20081002012318.8bbfc3b8.arceny@xxxxxxxxx>
  • References: <20081002012318.8bbfc3b8.arceny@xxxxxxxxx>

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

У меня очень похожая проблема. Может быть даже та же самая.
Замечено следующее:
Иногда вместо ответа получаю gateway timeout от nginx причём жду его по две минуты (в это время браузер в состоянии "ожидание ответа"). Если в это же время открыть вкладку в браузере и тот же набрать адрес, то страница открывается без проблем. Складывается ощущение что php "зависает" во время обработки страницы. Это не зависит от того, что за страница. Иногда это случается с индексной страницей, иногда с другими. Для решения проблемы запустил несколько fcgi-процессов на разных портах и поставил timeout 5 секунд. Количество показов gateway timeout значительно снизилось, однако, тем не менее время от времени появляется. Больше ничего не ясно. Пока решил попробовать апач вместо fcgi, если проблема уйдёт, останусь на апаче.

Arceny, а в чём у Вас причина перехода на fcgi?

Андрей.

Arceny пишет:
Здравствуйте.

Имеется 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;





 




Copyright © Lexa Software, 1996-2009.