PHP-FPM (FastCGI Process Manager) — это альтернативная (и более продвинутая) реализация интерфейса FastCGI для PHP. Он управляет пулами процессов PHP, которые могут обрабатывать входящие запросы от веб-сервера.
Взаимодействие с FastCGI:
PHP-FPM сам является менеджером процессов FastCGI. Он реализует протокол FastCGI и слушает определенный TCP-порт или Unix-сокет. Веб-сервер (например, Nginx или Apache с модулем mod_fcgid или mod_proxy_fcgi) выступает в роли клиента FastCGI.
Процесс взаимодействия:
FastCGI — это протокол, интерфейс между веб-сервером и программой, которая обрабатывает динамические запросы (например, PHP). Он решает проблему высокой нагрузки, которая возникает при использовании CGI, где каждый запрос порождает новый процесс. FastCGI позволяет создать пул постоянных процессов (воркеров), которые переиспользуются для обработки множества запросов, что значительно снижает накладные расходы.
PHP-FPM — это конкретная реализация этого протокола, предоставляющая дополнительные функции управления и мониторинга процессов, такие как: