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

Зміст

FPM (FastCGI Process Manager) — це основна реалізація PHP FastCGI з деякими додатковими можливостями, корисними (здебільшого) для високо-навантажених сайтів.

Ці можливості включають:

  • розширене управління процесами, з м'яким запуском/зупинкою;

  • створення наборів (pools) робочих процесів (workers) з довільними uid/gid/chroot/оточенням, прослуховування на різних портах та з використанням різних php.ini (замінюючи safe_mode);

  • логування stdout та stderr, що налаштовується;

  • аварійний перезапуск в разі випадкового видалення кешу opcode;

  • підтримку прискореного завантаження (accelerated upload);

  • "slowlog" - логування скриптів (не тільки назви, але і їхні PHP-бектрейси, використовуючи ptrace та подібні засоби для читання даних виконавчих віддалених процесів), які незвично повільно виконуються;

  • fastcgi_finish_request() - спеціальна функція для завершення запитів та скидання всіх даних, без припинення обробки довготривалих запитів (конвертування відео, обробка статистики і т.д.);

  • динамічне/на вимогу/статичне розмноження дочірніх процесів;

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

  • конфігураційний файл у форматі php.ini.