Менеджер процессов FastCGI (FPM)

Содержание

FPM (FastCGI Process Manager, менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями обычно используемыми для высоконагруженных сайтов.

Эти возможности включают в себя:

  • Продвинутое управление процессами с корректной (graceful) процедурой остановки и запуска;

  • Пулы, дающие возможность запуска воркеров с разными uid/gid/chroot/окружением, прослушивая разные порты и используя разные php.ini (замещение safe_mode);

  • Настраиваемое ведение журнала потоков вывода (stdout) и ошибок (stderr);

  • Аварийный перезапуск в случае внезапного разрушения opcode-кеша;

  • Поддержка ускоренной загрузки (accelerated upload);

  • "slowlog" - логирование необычно медленно выполняющихся скриптов (не только их имена, но также и их трассировки. Это достигается с помощью ptrace и других подобных утилит для чтения данных исполнения удалённых процессов);

  • fastcgi_finish_request() - специальная функция для завершения запроса и сброса всех буферов данных, причём процесс может продолжать выполнение каких-либо длительных действий (конвертирование видео, обработка статистики и т.п.);

  • Динамическое/по требованию/статическое порождение дочерних процессов;

  • Базовая и расширенная информация о состоянии (аналогично Apache mod_status) с поддержкой различных форматов, таких как json, xml и openmetrics;

  • Конфигурационный файл, основанный на php.ini.