Настройка
Вернуться к: FastCGI Process Manager (FPM)
FPM использует синтаксис php.ini для своего файла конфигурации php-fpm.conf.
Список глобальных директив php-fpm.conf
- pid string
-
Путь к PID файлу. Значение по умолчанию: none.
- error_log string
-
Путь к файлу журнала ошибок. Значение по умолчанию: #INSTALL_PREFIX#/log/php-fpm.log.
- log_level string
-
Уровень журналирования ошибок. Возможные значения: alert, error, warning, notice, debug. Значение по умолчанию: notice.
- emergency_restart_threshold int
-
При данном числе рабочих процессов, завершенных с SIGSEGV или SIGBUS за промежуток времени, установленный emergency_restart_interval FPM будет перезагружен. Значение 0 означает 'Off' (отключено). Значение по умолчанию: 0 (Off).
- emergency_restart_interval mixed
-
Интервал времени, используемый emergency_restart_interval, чтобы определить, когда FPM будет мягко перезагружен. Это полезно для избежания случайных повреждений общей памяти ускорителя (accelerator). Доступные единицы измерения: s(секунды), m(минуты), h(часы), или d(дни). Единица измерения по умолчанию: секунды. Значение по умолчанию: 0 (Off).
- process_control_timeout mixed
-
Время, в течение которого дочерние процессы ждут ответа на сигналы мастер-процессу. Доступные единицы измерения: s(секунды), m(минуты), h(часы) или d(дни). Единица измерения по умолчанию: секунды. Значение по умолчанию: 0.
- daemonize boolean
-
Запустить FPM в фоновом режиме. Установите значение 'no', чтобы запустить FPM в диспетчере для отладки. Значение по умолчанию: yes.
Список директив для пулов.
Вы можете запускать несколько FPM пулов процессов с различными настройками. Эти параметры могут быть переданы пулу.
- listen string
-
Адрес, который будет принимать FastCGI-запросы. Синтаксис: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Эта опция обязательна для каждого пула.
- listen.backlog int
-
Устанавливает listen(2) backlog. Значение '-1' означает неограничено. Значение по умолчанию: -1.
- listen.allowed_clients string
-
Список IPv4 адресов FastCGI-клиентов, которые имеют право подключения. Эквивалент переменной окружения среды FCGI_WEB_SERVER_ADDRS в оригинальном PHP FastCGI (5.2.2+). Имеет смысл только с TCP-сокетом. Каждый адрес должен быть отделен запятой. Если оставить значение пустым, то соединения будут приниматься с любого IP. Значение по умолчанию: any.
- listen.owner string
-
Задает права для unix socket, если они используются. В Linux, чтобы разрешить соединения web серверу, должны быть установлены права на чтение/запись. Во многих основанных на BSD системах возможность соединения не зависит от прав доступа. Значение по умолчанию: используется пользователь и группа, от имени которого запущен сервер, установлен режим 0666.
- listen.group string
-
См. listen.owner.
- listen.mode string
-
См. listen.owner.
- user string
-
Unix-пользователь FPM-процессов. Этот параметр является обязательным.
- group string
-
Unix-группа FPM-процессов. Если не установлен, группа по умолчанию равняется имени пользователя.
- pm string
-
Выбор того, как менеджер процессов будет контролировать создание дочерних процессов. Возможные значения: static, dynamic. Этот параметр является обязательным.
static - фиксированное число дочерних процессов (pm.max_children).
dynamic - динамически изменяющееся число дочерних процессов, задается на основании следующих директив: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
- pm.max_children int
-
Число дочерних процессов, которые будут созданы, когда pm установлен в static, или же максимальное число процессов, которые будут созданы, когда pm установлен в dynamic. Этот параметр является обязательным.
Этот параметр устанавливает ограничение на число одновременных запросов, которые будут обслуживаться. Эквивалент директивы ApacheMaxClients с mpm_prefork и переменной окружения среды PHP_FCGI_CHILDREN в в оригинальном PHP FastCGI.
- pm.start_servers in
-
Число дочерних процессов, содаваемых при запуске. Используется, только когда pm установлен в dynamic. Значение по умолчанию: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
- pm.min_spare_servers int
-
Желаемое минимальное число неактивных процессов сервера. Используется, только когда pm установлено в dynamic. Кроме того, это обязательный параметр в этом случае.
- pm.max_spare_servers int
-
Желаемое максимальное число неактивных процессов сервера. Используется, только когда pm установлен в dynamic. Кроме того, это обязательный параметр в этом случае.
- pm.max_requests int
-
Число запросов дочернего процесса, после которого процесс будет перезапущен. Это полезно для избежания утечек памяти при использовании сторонних библиотек. Для бесконечной обработки запросов укажите '0'. Эквивалент PHP_FCGI_MAX_REQUESTS. Значение по умолчанию: 0.
- pm.status_path string
-
Ссылка, по которой можно посмотреть страницу состояния FPM. Если значение не установлено, то страница статуса отображаться не будет. Значение по умолчанию: none.
- ping.path string
-
Ссылка на ping-страницу мониторинга FPM. Если значение не становлено, ping-страница отображаться не будет. Может быть использовано для тестирования извне, чтобы убедиться, что FPM жив и реагирует. Обратите внимание, что значение должно начинаться с косой черты (/).
- ping.response string
-
Эта директива может быть использована на настройки ответа на ping-запрос. Ответ формируется как text/plain со кодом ответа 200. Значение по умолчанию: pong.
- request_terminate_timeout mixed
-
Таймаут для обслуживания одного запроса, после чего рабочий процесс будет завершен. Этот вариант следует использовать, когда опция 'max_execution_time' в php.ini не останавливает выполнение скрипта по каким-то причинам. Значение '0' означает 'выключено'. Доступные единицы измерения: s(секунды), m(минуты), h(часы) или d(дни). Значение по умолчению: 0.
- request_slowlog_timeout mixed
-
Таймаут для обслуживания одного запроса, после чего PHP backtrace будет сохранен в файл 'showlog'. Значение '0' означает 'выключено'. Доступные единицы измерения: s(секунды), m(минуты), h(часы) или d(дни). Значение по умолчению: 0.
- slowlog string
-
Лог-файл для медленных запросов. Значение по умолчанию: #INSTALL_PREFIX#/log/php-fpm.log.slow.
- rlimit_files int
-
Устанавливает лимит дестрипторов открытых файлов rlimit. Значение по умолчанию: определяется значением системы.
- rlimit_core int
-
Устанавливает максимальное количество используемых ядер rlimit. Возможные значения: 'unlimited' или целое число большее или равное 0. Значение по умолчанию: определяется значением системы.
- chroot string
-
Директория chroot окружения при старте. Это значение должно быть определено как абсолютный путь. Если значение не установлено, chroot не используется.
- chdir string
-
Chdir изменяет текущую директорию при старте. Это значение должно быть определено как абсолютный путь. Значение по умолчанию: текущая директория или / при использовании chroot.
- catch_workers_output boolean
-
Перенаправление STDOUT и STDERR рабочего процесса в главный лог ошибок. Если не установлен, STDOUT и STDERR будут перенаправлены в /dev/null в соответствуии со спецификацией FastCGI. Значение по умолчанию: no.
Можно передать дополнительные переменные окружения и обновить настройки PHP для определенного пула. Для этого вам необходимо добавить следующие параметры в php-fpm.conf
Пример #1 Передача переменных окружения и настроек PHP пулу
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
Настройки, определенные через php_admin_value и php_admin_flag, не могут быть перезаписаны через ini_set().
Вернуться к: FastCGI Process Manager (FPM)