При необходимости настроить конфигурацию пула php-fpm для нового сервера, мне интересно, возможно ли / разрешено / рекомендовано иметь новый файл пула, имя которого идет в алфавитном порядке после исходного, который имеет только значения, переопределяющие начальную конфигурацию.
Исходная конфигурация находится в /etc/php/7.0/fpm/pool.d
названный www.conf
.
Судя по страницам, относящимся к установке, инженеры, похоже, напрямую модифицируют оригинал (сохраняя копию исходных значений). Например.
[www]
...
user www-data
group www-data
pm.max_children 2
дает после модификации
[www]
...
user myapp ; was www-data
group myapp ; was www-data
pm.max_children 8 ; was 2
Но похоже, что это может быть задача, которую нужно повторить после следующего обновления php-fpm (кроме того, конфигурация находится в 7.0
путь, вот и тревожно).
Вместо того, чтобы изменять исходный файл, я хотел бы оставить его без изменений и добавить еще один, скажем wwwmyapp.conf
который объявляет тот же пул и имеет только те значения, которые изменились
в wwwmyapp.conf
[www] ; same pool!
user myapp
group myapp
pm.max_children 8
в pool.d
, список файлов
www.conf
wwwmyapp.conf
поскольку в php-fpm.conf
загружаются все файлы конфигурации пула, значения wwwmyapp
будут прочитаны после www
( В то же самое www
pool) и должен переопределить первые значения.
Не нашел ответа ни в одном документе, даже на php.net.
Не удалось найти "официального" подтверждения из другого источника, но вот некоторые результаты после некоторого исследования:
Анализируя исходный код php7.0-fpm
и, более конкретно fpm-conf.c
, кажется, что
php-fpm.conf
читается первым [ fpm_conf_load_ini_file()],include
директивы читаются по порядку, давая список файлов благодаря шарик(),include
будет рекурсивный вызов функции обработки include, иGLOB_NOSORT
вариант)Таким образом, мы можем предположить - по крайней мере, в этой версии, но вряд ли это скоро изменится, учитывая существующий код - что можно безопасно организовать pool.d
файлы конфигурации каталогов в алфавитном порядке; любое ранее записанное значение перезаписывается записью с таким же именем, прочитанной после.
У нас есть чистый способ обработки файлов конфигурации для php-fpm
, сохраняя дистрибутивы нетронутыми, и добавляя пользовательские файлы, имена которых в алфавитном порядке больше, чем у упакованных, которые содержат несколько параметров, которые необходимо изменить.
Если у вас есть файл вроде php-overrides.ini, скопируйте его в
/etc/php/7.0/fpm/conf.d/99-overrides.ini
Префикс 99 обусловлен порядком исполнения