LINUX.ORG.RU
решено ФорумAdmin

php-fpm pools

 , ,


1

3

Есть php-fpm+nginx в chroot, два проекта projectname1 projectname2, для каждого свой отдельный пул:

[projectname1]
user = projectname1
group = projectname1
listen = /usr/www/projectname1/tmp/projectname1.sock
listen.backlog = -1
listen.owner = projectname1
listen.group = www
listen.mode = 0660
listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 30
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 5
pm.process_idle_timeout = 10s;
pm.max_requests = 500
chroot = /usr/httpd_chroot/

security.limit_extensions = .php
fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  PATH_INFO $fastcgi_script_name;

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

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  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

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;
fastcgi_param  REDIRECT_STATUS    200;

Есть скрипт вида:

<?php
$production = __DIR__.'/index.php';
?>

В некоторых случаях (<1% запросов) php сходит с ума и отдает директорию чужого проекта. т.е запрашивается DIR в проекте projectname1, а он отдает путь /usr/www/projectname2/

Отлавливал «сбойный» php процесс, трассировал после ошибки, но данные говорили, что он продолжал работать в правильной директории.

Какую то зависимость установить не удалось. В чем может быть причина?


В чем может быть причина?

Попробуй поменять (или вообще отключить, если нагрузка позволит) кеш-акселератор (apc и т.п.)

А так, никогда не сталкивался. Хотя бывало до десятка пулов, из которых 2-3 высоко нагруженных. Использую обычно xcache.

KRoN73 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.