У меня есть VPS, использующий Parallels / Plesk (11.0.9 Обновление № 22, последнее обновление 31 октября 2012 г., 03:33 CentOS 6.3 (Final) x86_64)
У меня установлен apache (CGI / FastCGI) и nginx в качестве обратного прокси. Все работает нормально. Я установил APC для кеширования, но проблема в том, что время безотказной работы всегда равно 0. Он перезапускается каждые 15 секунд или около того. Я везде проверял и не могу найти решение, чтобы исправить.
На сервере включен льготный перезапуск, но каждые 6 часов, что не должно влиять на время безотказной работы APC. Поискав в Google, я обнаружил, что это может быть связано с Apache, работающим с FCGId вместо FastCGI. Plesk / Apache использует этот файл конфигурации: usr / local / psa / admin / conf / templates / default / service / php_over_fastcgi.php, содержимое которого:
<IfModule mod_fcgid.c>
<Files ~ (\.php)>
SetHandler fcgid-script
FCGIWrapper <?php echo $VAR->server->webserver->apache->phpCgiBin ?> .p$
Options +ExecCGI
allow from all
</Files>
Здесь проблема или в другом? Как я могу исправить это, чтобы работать с FastCGI и заставить APC работать правильно. Я забыл указать, что даже если время безотказной работы меньше одной минуты, APC неплохо справляется с кэшированием (92% - это совпадения).
Вероятно, это связано с завершением приложения Fcgi. В зависимости от вашей нагрузки (количества запросов в час) это может быть либо http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxrequestsperprocess
или http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgididletimeout (я думаю, это больше подходит)
Попробуйте увеличить это значение, чтобы добиться эффекта.
PHP умрет, а затем будет создан новый при ударе PHP_FCGI_MAX_REQUESTS. Вы можете настроить эту цифру с помощью:
DefaultInitEnv PHP_FCGI_MAX_REQUESTS 5000