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;
|