PHP-FPM (FastCGI Process Manager) — способ запуска PHP-кода через протокол FastCGI. Заменил старый mod_php Apache, который запускал PHP как модуль веб-сервера (медленно, много памяти). PHP-FPM держит пул отдельных PHP-процессов, готовых обработать запрос — быстрее и экономнее по памяти.
Типовая архитектура: Nginx принимает HTTP-запрос → определяет, что нужен PHP → передаёт запрос PHP-FPM через UNIX-socket → PHP выполняет код → возвращает HTML nginx → nginx отдаёт пользователю. Разделение обязанностей: nginx — сеть и статика, PHP-FPM — код.
Настройка пула: pm.max_children (максимум PHP-процессов), pm.start_servers, pm.min_spare_servers. Для WordPress на 2 vCPU / 4 ГБ VPS — типовая конфигурация pm.max_children = 20, каждый процесс держит ~50 МБ памяти. Для более высокой нагрузки — увеличивают лимит и добавляют OPcache для кэша скомпилированного PHP.