С помощью 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.
Можно использовать IPv6.
-
listen.owner
string
-
Задаёт права для unix-сокета, если они используются. В Linux для разрешения соединений к веб-серверу,
должны быть установлены права на чтение/запись.
Во многих основанных на BSD-системах возможность соединения не зависит от прав доступа.
Значение по умолчанию: используется пользователь и группа, от имени которого запущен сервер, установлен режим 0660.
-
listen.group
string
-
Смотрите listen.owner
.
-
listen.mode
string
-
Смотрите listen.owner
.
-
listen.acl_users
string
-
Если поддерживается список управления доступом (ACL) POSIX, вы можете настроить
его с помощью этой опции.
Если задано, то listen.owner
и listen.group
будут проигнорированы.
Значение задаётся списком имён, разделённых запятой.
-
listen.acl_groups
string
-
Смотрите listen.acl_users
.
Значение задаётся списком имён групп, разделённых запятой.
-
user
string
-
Unix-пользователь FPM-процессов. Этот параметр является обязательным.
-
group
string
-
Unix-группа FPM-процессов. Если не установлен, группа по умолчанию равняется имени пользователя.
-
pm
string
-
Выбор того, как менеджер процессов будет контролировать создание дочерних процессов.
Возможные значения: static
, ondemand
,
dynamic
.
Этот параметр является обязательным.
static
- фиксированное число дочерних процессов (pm.max_children
).
ondemand
- число процессов, порождающихся по требованию (когда появляются запросы,
в отличие от опции dynamic, когда стартует определённое количество процессов, равное pm.start_servers
,
вместе с запуском службы.
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
int
-
Число дочерних процессов, создаваемых при запуске.
Используется, только когда 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.process_idle_timeout
mixed
-
Число секунд, по истечению которых простаивающий процесс будет завершён.
Используется только если pm
установлено как ondemand
.
Допустимые единицы: s(econds)(по умолчанию), m(inutes), h(ours) или d(ays).
По умолчанию: 10s.
-
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.
-
process.priority
int
-
Задаёт приоритет nice(2) для работающего процесса
(только если задан). Значение от -19 (высший
приоритет) до 20 (самый низкий).
Значение по умолчанию: не задано.
-
process.dumpable
bool
-
Установить флаг процесса dumpable (PR_SET_DUMPABLE prctl), даже если the пользователь процесса или группа отличается от пользователя мастер-процесса.
Это позволяет создавать дамп ядра процесса и выполнить ptrace процесса для пользователя пула.
Значение по умолчанию: no. Доступно с PHP 7.0.29, 7.1.17 и 7.2.5.
-
prefix
string
-
Задаёт префикс для вычисления пути
-
request_terminate_timeout
mixed
-
Таймаут для обслуживания одного запроса, после чего рабочий процесс
будет завершён. Этот вариант следует использовать, когда опция
'max_execution_time' в php.ini не останавливает выполнение скрипта по каким-то причинам.
Значение '0' означает 'выключено'.
Доступные единицы измерения: s(econds), m(inutes), h(ours) или d(ays).
Значение по умолчанию: 0.
-
request_slowlog_timeout
mixed
-
Таймаут для обслуживания одного запроса, после чего PHP backtrace
будет сохранён в файл 'slowlog'. Значение '0' означает 'выключено'.
Доступные единицы измерения: s(econds), m(inutes), h(ours) или d(ays).
Значение по умолчанию: 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
bool
-
Перенаправление STDOUT и STDERR рабочего процесса в главный лог ошибок.
Если не установлен, STDOUT и STDERR будут перенаправлены в /dev/null
в соответствии со спецификацией FastCGI.
Значение по умолчанию: no.
-
decorate_workers_output
bool
-
Включите оформление выхода (output decoration) для вывода worker-процесса когда
опция catch_workers_output включена.
Значение по умолчанию: yes.
Доступно с PHP 7.3.0.
-
clear_env
bool
-
Очищает окружение в worker-процессах FPM.
Предотвращает попадание произвольных переменных окружения в worker-процессы FPM,
очищая окружение у worker-процессах до того, как переменные окружения,
указанные в этой конфигурации пула будут добавлены.
По умолчанию: Yes.
-
security.limit_extensions
string
-
Ограничивает расширения, которые FPM будет анализировать.
Это может предотвратить ошибки конфигурации на стороне веб-сервера.
Вы должны ограничить FPM только расширениями .php для предотвращения
выполнения PHP-кода злоумышленниками другими расширениями.
По умолчанию: .php .phar
-
access.log
string
-
Лог-файл доступа.
Значение по умолчанию: не установлено
-
access.format
string
-
Формат лог-файла доступа.
Значение по умолчанию: "%R - %u %t \"%m %r\" %s"
:
Можно передать дополнительные переменные окружения и обновить настройки
PHP для определённого пула.
Для этого вам необходимо добавить следующие параметры в файл настройки пула.
перезапишут их предыдущие значения.
Пожалуйста, обратите внимание, что определения
Начиная с версии 5.3.3 настройки PHP можно устанавливать через веб-сервер.