Изменение параметров пула PHP-FPM

10.02.2025, 20:01

Изменение параметров пула PHP-FPM (FastCGI Process Manager) — это процесс настройки конфигурации пула процессов, который обрабатывает запросы PHP на веб-сервере. PHP-FPM позволяет управлять процессами PHP более эффективно по сравнению с традиционными методами, такими как mod_php в Apache.

Для чего необходимо?

В процессе настройки и оптимизации работы сайта бывает необходимо изменить значение параметров пула PHP-FPM, например, pm.max_children, pm.start_servers и другие.

Основные параметры пула PHP-FPM

pm: определяет режим управления процессами. Возможные значения:

  • static: фиксированное количество процессов
  • dynamic: количество процессов изменяется в зависимости от нагрузки
  • ondemand: процессы создаются по мере необходимости и завершаются, когда они не нужны.

pm.max_children: максимальное количество дочерних процессов, которые могут быть запущены одновременно.

pm.start_servers: количество процессов, которые будут запущены при старте PHP-FPM.

pm.minspareservers: минимальное количество неактивных (в ожидании) процессов, которые должны быть доступны.

pm.maxspareservers: максимальное количество неактивных процессов, чтобы избежать избыточного использования ресурсов.

listen: указывает адрес и порт, на которых будет слушать PHP-FPM (например, 127.0.0.1:9000 или сокет).

user и group: указывают пользователя и группу, от имени которых будут работать процессы PHP-FPM.

phpvalue и phpadmin_value: Позволяют задавать значения различных параметров конфигурации PHP для конкретного пула.

Инструкция изменения параметров

Для изменения параметров пула для конкретного сайта необходимо внести изменения в конфигурационный файл. Его расположение зависит от версии PHP и типа операционной системы:

Для Ubuntu и Debian

Нативная версия

/etc/php/<ваша_версия_php>/fpm/pool.d/pool.d/pool.d/<имя_сайта>.conf

Пример

/etc/php/7.4/fpm/pool.d/pool.d/pool.d/test.com.conf

Альтернативная версия

/opt/<ваша_версия_php>/etc/php-fpm.d/pool.d/<имя_сайта>.conf

Пример

/opt/php81/etc/php-fpm.d/pool.d/test.com.conf

Для CentOS, AlmaLinux, RockyLinux и CloudLinux

Нативная версия

/etc/php-fpm.d/pool.d/<имя_сайта>.conf

Пример

/etc/php-fpm.d/pool.d/test.com.conf

Альтернативная версия

/opt/<ваша_версия_php>/etc/php-fpm.d/pool.d/<имя_сайта>.conf

Пример

/opt/php71/etc/php-fpm.d/pool.d/test.com.conf

После изменения параметра сохраните файл и перезапустите службу php-fpm соответствующей версии:

Для Ubuntu и Debian

Нативная версия

systemctl restart php<ваша_версия_php>-fpm.service

Пример

systemctl restart php7.4-fpm.service

Альтернативная версия

systemctl restart php-fpm<ваша_версия_php>версия.service

Пример

systemctl restart php-fpm82.service

Для CentOS, AlmaLinux, RockyLinux и CloudLinux:

Нативная версия

systemctl restart php-fpm.service

Альтернативная версия

systemctl restart php-fpm<ваша_версия_php>.service

Пример

systemctl restart php-fpm82.service

При необходимости переопределения параметров по умолчанию, можно изменить шаблон конфигурационного файла панели /usr/local/mgr5/etc/templates/fpm_site_pool.conf

Изменения, внесённые в fpm_site_pool.conf, будут применяться для новых сайтов на PHP-FPM. Для старых нужно переключить режим работы PHP или его версию.