Create multiple master process for php-fpm (CentOS 7 x64), / Создать множество мастер-процессов для php-fpm. |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 7054-й день
![]() |
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Create multiple master process for php-fpm (CentOS 7 x64), / Создать множество мастер-процессов для php-fpm. |
chimera |
Пост
#1
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 340 С нами с: 18-January 08 ![]() |
Недавно столкнулся с необходимостью запустить несколько копий php-fpm (по одной для каждого виртуального веб-сервера) чтобы один пользователь мог
Перейдем в папку с файлами служб и создадим одну копию [root@server /]# cd /usr/lib/systemd/system [root@server /]# cp php-fpm.service php-fpm-usr1.service Открываем созданный файл [root@server /]# vi php-fpm-usr1.service и редактируем блок [Service] таким добавляя префикс -usr1: [Service] Type=notify PIDFile=/run/php-fpm/php-fpm[b]-usr1[/b].pid EnvironmentFile=/etc/sysconfig/php-fpm[b]-usr1[/b] ExecStart=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm[b]-usr1[/b].conf ExecReload=/bin/kill -USR2 $MAINPID PrivateTmp=true Сохраняем изменения. Создаем символическую ссылку для службы: [root@server /]# ln -s /usr/lib/systemd/system/php-fpm-usr1.service /etc/systemd/system/multi-user.target.wants/php-fpm-usr1.service Создаем новый EnvironmentFile копируя дефолтный: [root@server /]# cp /etc/sysconfig/php-fpm /etc/sysconfig/php-fpm-usr1 Далее нужно создать отдельный конфиг, который php-fpm-usr1.service будет использовать. Скопируем его с дефолтного: [root@server /]# cp /etc/php-fpm.conf /etc/php-fpm-usr1.conf Отредактируем его. [root@server /]# vi /etc/php-fpm-usr1.conf ;;;;;;;;;;;;;;;;;;;;; ; FPM Configuration; ;;;;;;;;;;;;;;;;;;;;; include=/etc/php-fpm.d/www[b]-usr1[/b].conf ; Тут мы указываем, какой конфиг пула использовать. [global] pid = /run/php-fpm/php-fpm[b]-usr1[/b].pid ; И создаем отдельный pid-файл. Сохраняем изменения. В папке /etc/php-fpm.d создадим и отредактируем конфиг пула: [root@server /]# cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www-usr1.conf [root@server /]# vi /etc/php-fpm.d/www-usr1.conf ; Start a new pool named 'www-usr1'. [www[b]-usr1[/b]] ... listen = 127.0.0.1:[b]9010[/b] ; Дефолтный порт — 9000. Задаем другой. ... Сохраняем изменения. Изначально в php-fpm.conf прописано читать все конфиги в папке /etc/php-fpm.d но поскольку мы решили настроить php-fpm по схеме «одна служба-один-конфиг-один пул» отредактируйте /etc/php-fpm.d/www.conf заменив: include=/etc/php-fpm.d/*.conf на include=/etc/php-fpm.d/www.conf Теперь попросим systemd перечитать конфиги, чтобы он увидел наш php-fpm-usr1.service systemctl daemon-reload Запускаем php-fpm-usr1: [root@server /]# systemctl restart php-fpm [root@server /]# systemctl start php-fpm-usr1 и проверяем: [root@server /]# systemctl | grep php-fpm php-fpm-usr1.service loaded active running The PHP FastCGI Process Manager php-fpm.service loaded active running The PHP FastCGI Process Manager Вот и все. |
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 8th July 2025 - 6:38 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |