Основные настройки PHP-FPM для веб-сервера

PHPNginxБезопасностьPHPFPMНастройкаСервера

Правильная конфигурация PHP-FPM критически важна для безопасности и стабильности работы веб-приложений. Разберём ключевые параметры из файла конфигурации пула (обычно /etc/php/8.x/fpm/pool.d/www.conf).

1. Пользователь и группа (user/group)

user = www-data
group = www-data
  • Назначение: Определяет, от какого пользователя будут выполняться PHP-скрипты
  • Рекомендации:
    • Всегда используйте отдельного пользователя (не root!)
    • www-data - стандартный пользователь для веб-серверов в Ubuntu/Debian
    • Для изоляции разных сайтов создавайте отдельных пользователей
  • Безопасность: Ограничивает права PHP-скриптов в системе

2. Группа сокета (listen.group)

listen.group = www-data
  • Назначение: Указывает группу, которой доступен Unix-сокет PHP-FPM
  • Важно: Веб-сервер Nginx должен быть в этой же группе
  • Проверка: ps aux | grep nginx | grep -v grep groups www-data

3. Права доступа к сокету (listen.mode)

listen.mode = 0660
Права Владелец Группа Остальные
0660 rw- rw- ---
  • Безопасность: Запрещает доступ всем, кроме владельца и группы
  • Альтернативы:
    • 0666 - небезопасно (доступ всем)
    • 0600 - только владельцу (могут быть проблемы с веб-сервером)

4. Дополнительные важные настройки

Параметр Рекомендуемое значение Описание
pm ondemand Режим управления процессами (для серверов с переменной нагрузкой)
pm.max_children 50 Максимальное число процессов (зависит от памяти сервера)
request_terminate_timeout 30s Максимальное время выполнения скрипта
security.limit_extensions .php Ограничивает выполнение только PHP-файлов

5. Проверка и применение настроек

## Проверка синтаксиса
sudo php-fpm8.x -t

## Перезагрузка PHP-FPM
sudo systemctl restart php8.x-fpm

## Проверка прав сокета
ls -la /run/php/php8.x-fpm.sock

Вывод

  • Используйте отдельного пользователя/группу для PHP-FPM
  • Ограничивайте права доступа к сокету (0660 - оптимально)
  • Регулярно проверяйте логи PHP-FPM на ошибки
  • Настройки зависят от нагрузки и специфики приложения

Эти настройки обеспечат баланс между безопасностью и производительностью вашего веб-сервера.