Create multiple master process for php-fpm (CentOS 7 x64), / Создать множество мастер-процессов для php-fpm. |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6736-й день
![]() |
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 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 Вот и все. |
![]() ![]() |
olexande |
Пост
#2
|
Репутация: ![]() ![]() Старожил ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2 042 С нами с: 27-February 07 ![]() |
Під FreeBSD я б запропонував розбити на Jail'и.
Кожному клієнту виділив би окремий Jail. І вже в ньому окремі інстанси. Під Linux є "легкі системи віртуалізації". Можливо, KVM саме те що Вам підходить ProxMox пробували. Сподобалась. З недоліків на той момент не обмежувала дисковий i/o чи не розібрались. |
mak_v_ |
Пост
#3
|
Репутация: ![]() ![]() Скорострел ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 7 453 С нами с: 4-December 11 ![]() |
Під FreeBSD я б запропонував розбити на Jail'и. Кожному клієнту виділив би окремий Jail. І вже в ньому окремі інстанси. Під Linux є "легкі системи віртуалізації". Можливо, KVM саме те що Вам підходить ProxMox пробували. Сподобалась. З недоліків на той момент не обмежувала дисковий i/o чи не розібрались. Jail...для php-fpm...зачем? Перефразируя: варить ингридиенты для супа в разных кастрюлях. Работать будет, "сильноизолированно", но зачем? БД тоже изолировать джейлами? и веб-сервера? |
olexande |
Пост
#4
|
Репутация: ![]() ![]() Старожил ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2 042 С нами с: 27-February 07 ![]() |
У автора не вдається налаштувати під 1-м інстансом. Ізоляція може за деяких обставин може спростити налаштування.
За деяких обставин, overhead на "ізоляцію" може бути допустимим. Якщо "інстансами" користуються різними клієнтами, то хоча б мінімальне "розділення клієнтів" зайвим не буде ... Я б Вашу аналогію перефразував: "варить ингридиенты для супа в разных кастрюлях." у "разные хозяйки из комуналки (общаги) варят свой суп в разных кастрюлях на 1-й плите. Да, друг-другу "газа или соли" могут добавить-убавить при некоторых обстоятельствах в зависимости от реализации плиты (системы виртуализации)". Я запропонував 1-н можливих з варіантів ... Сообщение отредактировал olexande - Aug 25 2015, 15:02 |
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 24th August 2024 - 6:10 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |