С помощью FPM вы можете запускать несколько пулов процессов с различными настройками.
Эти параметры могут быть переданы пулу.
-
listen
string
-
Адрес, который будет принимать FastCGI-запросы.
Синтаксис: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'.
Эта опция обязательна для каждого пула.
-
listen.backlog
int
-
Устанавливает listen(2) backlog. Значение -1
означает максимум на системах BSD.
Значение по умолчанию: -1
(FreeBSD или OpenBSD) или 511
.
(Linux и другие платформы).
-
listen.allowed_clients
string
-
Список адресов IPv4 или IPv6 клиентов FastCGI, которым разрешено подключение.
Эквивалент переменной окружения FCGI_WEB_SERVER_ADDRS в оригинальном PHP FastCGI (5.2.2+).
Имеет смысл только с TCP-сокетом. Каждый адрес должен быть разделён запятой.
Если оставить это значение пустым, соединения будут приниматься с любого IP-адреса.
Значение по умолчанию: не задано (принимается любой ip-адрес).
-
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.max_spawn_rate
int
-
Количество одновременных порождений дочерних процессов.
Используется только тогда, когда у параметра pm
установлено значение dynamic
.
Значение по умолчанию: 32
-
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_listen
string
-
Адрес, по которому будет приниматься запрос состояния FastCGI. Создаёт новый невидимый пул,
который может независимо обрабатывать запросы. Полезно, если основной пул занят долго выполняющимися запросами,
так как всё ещё можно получить страницу состояния FPM
до завершения долго выполняющихся запросов.
Синтаксис такой же, как и для директивы listen.
Значение по умолчанию: none.
-
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_terminate_timeout_track_finished
bool
-
Время ожидания, установленное с помощью request_terminate_timeout,
не включается после fastcgi_finish_request
или когда приложение завершено и вызываются внутренние функции завершения работы.
Эта директива позволит безоговорочно применять ограничение времени ожидания даже в таких случаях.
Значение по умолчанию: нет, начиная с версии PHP 7.3.0.
-
request_slowlog_timeout
mixed
-
Время ожидания обслуживания одного запроса, после чего PHP backtrace
будет сохранён в файл 'slowlog'. Значение '0' означает 'выключено'.
Доступные единицы измерения: s(econds), m(inutes), h(ours) или d(ays).
Значение по умолчанию: 0.
-
request_slowlog_trace_depth
int
-
Глубина трассировки стека журнала slowlog.
Значение по умолчанию: 20, начиная с PHP 7.2.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
-
apparmor_hat
string
-
Если AppArmor включён, позволяет изменить шапку.
Значение по умолчанию: не установлено
-
access.log
string
-
Лог-файл доступа.
Значение по умолчанию: не установлено
-
access.format
string
-
Формат лог-файла доступа.
Значение по умолчанию: "%R - %u %t \"%m %r\" %s"
:
Можно передать дополнительные переменные окружения и обновить настройки
PHP для определённого пула.
Для этого вам необходимо добавить следующие параметры в файл настройки пула.
перезапишут их предыдущие значения.
Пожалуйста, обратите внимание, что определения