PHP - FPM

Website

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

Интерфейс FastCGI — клиент-серверный протокол взаимодействия веб-сервера и приложения, дальнейшее развитие технологии CGI (Common Gateway Interface).

  • продвинутое управление процессами с корректной (graceful) процедурой остановки и запуска;
  • возможность запуска воркеров с различными uid/gid/chroot-окружением, а также запуска на различных портах с использованием разных php.ini (замещение safe_mode);
  • логирование стандартных потоков вывода (stdout) и ошибок (stderr);
  • аварийный перезапуск в случае внезапного разрушения opcode-кэша (OPcache улучшает производительность PHP путём сохранения скомпилированного байт-кода скриптов в разделяемой памяти, тем самым избавляя PHP от необходимости загружать и анализировать скрипты при каждом запросе);
  • поддержка ускоренной загрузки (accelerated upload);
  • "slowlog" - логирование необычно медленно выполняющихся скриптов (не только их имена, но также и их трассировки (процесс пошагового выполнения программы). Это достигается с помощью ptrace и других подобных утилит для чтения данных исполнения удаленных процессов);
  • Динамическое/статическое порождение дочерних процессов;
  • Базовая информация о статусе SAPI (Server Application Programming Interface — программный интерфейс для взаимодействия приложений с веб-сервером);
  • Конфигурационный файл, основанный на php.ini.

FPM использует синтаксис php.ini для своего файла конфигурации php-fpm.conf и файлов конфигурации пулов.