PHPНастройка
FPM използва синтаксиса php.ini за своя конфигурационен файл php-fpm.conf и конфигурационните файлове на пула.
Списък с глобални директиви php-fpm.conf
Път до PID файла. По подразбиране: няма.
Път до регистрационния файл за грешки. По подразбиране: #INSTALL_PREFIX#/log/php-fpm.log. Ако е зададено на "syslog", регистрирането ще се извършва в syslogd, а не в локален файл.
Ниво на регистриране на грешки. Възможни стойности: предупреждение, грешка, предупреждение, забележка, отстраняване на грешки. По подразбиране: бележка.
Ограничете регистрирането за регистрирани редове, позволявайки съобщения, по-дълги от 1024 знака, да бъдат регистрирани без обвиване. Стойност по подразбиране: 1024. Предлага се от PHP 7.3.0.
Експериментално регистриране без допълнително буфериране. Стойност по подразбиране: да. Предлага се от PHP 7.3.0.
Използва се за определяне на какъв тип програми ще регистрират съобщения. По подразбиране: демон.
Предхожда всяко съобщение. Ако имате няколко работещи екземпляра на FPM, можете да промените настройката по подразбиране на каквото ви е необходимо. По подразбиране: php-fpm.
Предвид броя на работните процеси, прекратени със SIGSEGV или SIGBUS в интервала от време, зададен от аварийен_рестарт_интервал, FPM ще бъде рестартиран. Стойност 0 означава „Изключено“. По подразбиране: 0 (Изкл.).
Интервалът от време, използван от Emergency_restart_interval за определяне кога FPM ще бъде плавно рестартиран. Това е полезно за избягване на случайна повреда на споделената памет на ускорителя. Налични единици: s (секунди), m (минути), h (часове) или d (дни). Единица по подразбиране: секунди. Стойност по подразбиране: 0 (Изкл.).
Времето, през което дъщерните процеси чакат отговор на сигнали към главния процес. Налични бройкиизмервания: s(секунди), m(минути), h(часове) или d(дни). Единица по подразбиране: секунди. Стойност по подразбиране: 0.
Максималният брой процеси, които FPM може да създаде. Това е за контролиране на глобалния брой процеси, когато се използва голям динамичен PM пул. Използвайте с повишено внимание. По подразбиране: 0.
Указва приоритета (Unix nice(2)) на главния процес (само ако е зададен). Приема стойности от -19 (максимален приоритет) до 20 (минимум.) По подразбиране: не е зададено.
Стартирайте FPM във фонов режим. Задайте „не“, за да стартирате FPM в диспечера за отстраняване на грешки. По подразбиране: да.
Задава rlimit на отворени файлови дескриптори за главния процес. По подразбиране: Задава rlimit за отворения файлов дескриптор на главния процес(?).
Задава rlimit за максималния размер на ядрото за главния процес. По подразбиране е 0.
Указва кой механизъм за събития ще използва FPM. Възможни са следните опции: select, pool, epoll, kqueue (*BSD), port (Solaris). По подразбиране: не е зададено (автоматично откриване).
Ако FPM е изграден с интеграция на systemd, указва интервала в секунди между уведомяването на systemd за състоянието му. За да деактивирате, задайте 0. По подразбиране: 10.
Списък с директиви за басейни.
С FPM можете да изпълнявате множество групи процеси с различни настройки. Тези параметри могат да бъдат предадени на пула.
Адресът, който ще приема FastCGI заявки. Синтаксис: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Тази опция е задължителна за всеки басейн.
Задава назад слушане(2). Стойността „-1“ означава неограничен. Стойност по подразбиране: -1.
Задава разрешения за unix сокета, ако има такива.В Linux, за да разрешите връзки към уеб сървъра, трябва да бъдат зададени разрешения за четене/запис. В много системи, базирани на BSD, свързаността не зависи от разрешенията. Стойност по подразбиране: Използват се потребителят и групата, под които работи сървърът, режимът е зададен на 0660.
Ако се поддържа POSIX списък за контрол на достъпа (ACL), можете да го конфигурирате с тази опция. Ако е зададено, тогава listen.owner и listen.group ще бъдат игнорирани. Стойността е посочена като списък с имена, разделени със запетаи. Предлага се от PHP 5.6.5.
Вижте listen.acl_users. Стойността е посочена като списък с имена на групи, разделени със запетая. Предлага се от PHP 5.6.5.
Unix потребител на FPM процеси. Този параметър е задължителен.
Unix група от FPM процеси. Ако не е зададено, групата по подразбиране е потребителското име.
Изборът как мениджърът на процеси ще контролира създаването на дъщерни процеси. Възможни стойности: статични, при поискване, динамични. Този параметър е задължителен.
static - фиксиран брой дъщерни процеси (pm.max_children).
ondemand - брой процеси, създадени при поискване (когато има заявки, за разлика от динамичната опция, когато определен брой процеси, равни на pm.start_servers, се стартират заедно със стартирането на услугата.
динамичен - динамично променящ се брой дъщерни процеси, зададен въз основа на следните директиви: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
Броят дъщерни процеси, които ще бъдат създадени, когато pm е настроен на статичен, или максималният брой процеси, които ще бъдат създадени, когато pm е настроен на динамичен. Този параметър е задължителен.
Тази опция задава ограничение за броя едновременниискания за обслужване. Еквивалентът на директивата ApacheMaxClients с mpm_prefork и променливата на средата PHP_FCGI_CHILDREN в оригиналния PHP FastCGI.
Броят дъщерни процеси, създадени при стартиране. Използва се само когато pm е настроен на динамичен. Стойност по подразбиране: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
Желаният минимален брой неактивни сървърни процеси. Използва се само когато pm е настроен на динамичен. Освен това в този случай това е задължителен параметър.
Желаният максимален брой неактивни сървърни процеси. Използва се само когато pm е настроен на динамичен. Освен това в този случай това е задължителен параметър.
Броят секунди, след които неактивният процес ще бъде прекратен. Използва се само ако pm е зададено на ondemand. Валидни мерни единици: s(секунди) (по подразбиране), m(минути), h(наши) или d(ays). По подразбиране: 10s.
Броят заявки за дъщерен процес, след които процесът ще бъде рестартиран. Това е полезно за избягване на изтичане на памет при използване на библиотеки на трети страни. Посочете '0' за безкрайна обработка на заявки. Еквивалентно на PHP_FCGI_MAX_REQUESTS. Стойност по подразбиране: 0.
Връзка за преглед на страницата за състояние на FPM. Ако стойността не е зададена, страницата със състоянието няма да се покаже. Стойност по подразбиране: няма.
Връзка към страницата за пинг за наблюдение на FPM. Ако стойността не е зададена, страницата за ping няма да се покаже. Може да се използва за външно тестване, за да се уверите, че FPM е жив и отзивчив. Имайте предвид, че стойността трябва да започва с наклонена черта (/).
Тази директива може да се използва за персонализиране на отговора на ping заявка. Отговорът се формира като текст/обикновен с код на отговора 200. Значениепо подразбиране: понг.
Задава приоритета nice(2) за изпълнявания процес (само ако е зададен). Стойност от -19 (най-висок приоритет) до 20 (най-нисък). Стойност по подразбиране: не е зададена.
Задайте флага на процеса за дъмпинг (PR_SET_DUMPABLE prctl), дори ако потребителят или групата на процеса е различен от потребителя на главния процес. Това ви позволява да създадете дъмп на ядрото на процеса и да проследите процеса за потребителя на пула. Стойност по подразбиране: не. Предлага се от PHP 7.0.29, 7.1.17 и 7.2.5.
Указва префикс за оценка на пътя
Време за изчакване за обслужване на една заявка, след което работният процес ще приключи. Тази опция трябва да се използва, когато опцията 'max_execution_time' в php.ini не спира изпълнението на скрипта по някаква причина. Стойността „0“ означава „изключено“. Налични мерни единици: s (секунди), m (минути), h (наши) или d (дни). Стойност по подразбиране: 0.
Изчакване за обслужване на една заявка, след което PHP backtrace ще бъде записан във файла 'slowlog'. Стойността „0“ означава „изключено“. Налични мерни единици: s (секунди), m (минути), h (наши) или d (дни). Стойност по подразбиране: 0.
Лог файл за бавни заявки. Стойност по подразбиране: #INSTALL_PREFIX#/log/php-fpm.log.slow.
Задава ограничението rlimit за дескриптор на отворен файл за дъщерни процеси в този пул. Стойност по подразбиране: определя се от системната стойност.
Задава максималния брой ядра за използване на rlimit за дъщерни процеси в този пул. Възможни стойности: „неограничено“ или цяло число, по-голямо или равно на 0. Стойност по подразбиране: определена от системната стойност.
Директорията на chroot среда при стартиране. Тази стойност трябва да бъде посочена като абсолютен път. Ако стойността не е зададена, chroot не се използва.
Chdir променя текущата директория при стартиране. Тази стойност трябва да бъде посочена като абсолютен път. Стойност по подразбиране: текуща директория или / при използване на chroot.
Пренасочване на работния поток STDOUT и STDERR към главния регистър на грешките. Ако не е зададено, STDOUT и STDERR ще бъдат пренасочени към /dev/null според спецификацията на FastCGI. Стойност по подразбиране: не.
Активиране на декорация на изхода за изход на работник, когато опцията catch_workers_output е активирана. Стойност по подразбиране: да. Предлага се от PHP 7.3.0.
Изчиства средата в работниците на FPM. Предотвратява навлизането на произволни променливи на средата във FPM работници, като изчиства работната среда, преди да бъдат добавени променливите на средата, посочени в тази конфигурация на пула. Предлага се от PHP 5.4.27, 5.5.11 и 5.6.0. По подразбиране: Да.
Ограничава разширенията, които FPM ще анализира. Това може да предотврати грешки в конфигурацията от страна на уеб сървъра. Трябва да ограничите FPM само до .php разширения, за да попречите на нападателите да изпълняват PHP код с други разширения. По подразбиране: .php .phar
Регистрационен файл за достъп. Стойност по подразбиране: не е зададена
Формат на регистрационния файл на Access. Стойност по подразбиране: "%R - %u %t \"%m %r\" %s"
Възможно е да подадете допълнителни променливи на средата и да актуализирате PHP настройките за конкретен пул. За да направите това, трябва да добавите следните параметри към конфигурационния файл на пула.
Пример #1 Предаване на променливи на средата и PHP настройки към пул
Настройките, дефинирани чрез php_admin_value и php_admin_flag, не могат да бъдат презаписани чрез ini_set().
Започвайки от версия 5.3.3, PHP настройките могат да се задават чрез уеб сървъра.