Менеджер процесів 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.