Во время настройки и оптимизации работы сайта бывает необходимо изменить значение параметров пула PHP-FPM, например, pm.max_children, pm.start_servers и другие.
Основные параметры пула
Ключевые настройки:
pm— режим управления процессами (static, dynamic, ondemand);pm.max_children— макс. число дочерних процессов одновременно;pm.start_servers— число процессов при старте PHP‑FPM;pm.min_spare_servers— мин. число неактивных процессов в ожидании;pm.max_spare_servers— макс. число неактивных процессов;listen— адрес и порт прослушивания (например, 127.0.0.1:9000 или сокет);userиgroup— пользователь и группа для процессов PHP‑FPM;php_valueиphp_admin_value— значения параметров PHP для пула.
Где найти конфигурационный файл
Путь зависит от ОС и версии PHP:
Ubuntu/Debian
нативная версия: /etc/php/<версия_php>/fpm/pool.d/<имя_сайта>.conf (пример: /etc/php/7.4/fpm/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, Rocky Linux, 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).
Пошаговая инструкция
Откройте конфигурационный файл пула в текстовом редакторе (например, через nano или vim):
sudo nano /etc/php/7.4/fpm/pool.d/test.com.conf
Найдите нужные параметры и измените их значения. Пример фрагмента конфигурации:
ini
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 10
listen = 127.0.0.1:9000
user = www-data
group = www-data
Сохраните изменения и закройте редактор.
Проверьте синтаксис конфигурации перед перезапуском:
sudo php-fpm -t
Если ошибок нет, вы увидите подтверждение корректности конфигурации. Перезапустите службу PHP‑FPM соответствующей версии.
Для Ubuntu/Debian
нативная версия:
sudo systemctl restart php<версия_php>-fpm.service
Пример:
sudo systemctl restart php7.4-fpm.service
альтернативная версия:
sudo systemctl restart php-fpm<версия>.service
Пример:
sudo systemctl restart php-fpm82.service
Для CentOS, AlmaLinux, Rocky Linux, CloudLinux
нативная версия:
sudo systemctl restart php-fpm.service
альтернативная версия:
sudo systemctl restart php-fpm<версия>.service
Пример:
sudo systemctl restart php-fpm82.service
Убедитесь, что служба запустилась без ошибок:
sudo systemctl status php-fpm
Дополнительные замечания
Для новых сайтов. Если нужно изменить параметры по умолчанию для будущих сайтов, отредактируйте шаблон конфигурационного файла панели: /usr/local/mgr5/etc/templates/fpm_site_pool.conf. Изменения применятся только к новым сайтам.
Для существующих сайтов. Чтобы применить новые настройки к уже работающим сайтам, потребуется переключить режим работы PHP или его версию — это затронет файлы конфигурации Nginx/Apache и может временно повлиять на работу сайта.
Проверка логов. При ошибках смотрите логи PHP‑FPM (обычно /var/log/php-fpm.log или в директории логов конкретного пула).