Каталог артыкулаў
Ці ўсё ў парадку пасля запуску сервера? Насамрэч, у свеце PHP-FPM файл канфігурацыі з'яўляецца сапраўдным галоўнай прычынай таго, ці можа сайт працаваць стабільна, бяспечна і эфектыўна.
Якая канфігурацыя пула працэсаў для PHP-FPM?
PHP-FPM (FastCGI Process Manager) — гэта менеджэр працэсаў для PHP, які выкарыстоўвае канцэпцыю «пулаў» для кіравання працэсамі PHP для розных вэб-сайтаў або праграм.
Кожны .conf Файл — гэта вызначэнне пула, якое ўказвае ключавыя параметры, такія як карыстальнік, на якім працуе працэс, порт або сокет, які ён праслухоўвае, шлях журнала і колькасць працэсаў.
Іншымі словамі, гэтыя файлы падобныя на «клоны» вашага сервера, што дазваляе розным сайтам працаваць незалежна адзін ад аднаго, не перашкаджаючы адзін аднаму.

www.conf: Пул працэсаў па змаўчанні
Пасля ўсталёўкі PHP-FPM сістэма аўтаматычна згенеруе... www.conf файл.
Яго функцыя заключаецца ў тым, каб забяспечыць пул па змаўчанні, які працуе адразу пасля ўсталёўкі, звычайна ў... www-data Карыстальнік.
Гэты пул падыходзіць для асяроддзяў з адным сайтам, яго лёгка наладзіць, і большасць параметраў з'яўляюцца агульнымі значэннямі, такімі як:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
Калі вы працуеце толькі на адным сайце, гэтага дастаткова.
etUfo.org.conf: Пул карыстальніцкіх сайтаў
Калі ў вас некалькі сайтаў, вам трэба стварыць асобны пул для кожнага сайта.
такі як etufo.org.confГэта спецыяльна для даменных імёнаў. etUfo. Org Эксклюзіўная канфігурацыя.
Распаўсюджаная практыка такая:
- Напрыклад, укажыце розных карыстальнікаў і групы
user = etufo,group = etufo - Наладзьце асобны порт або сокет для праслухоўвання, напрыклад
listen = /run/php/etufo.sock - Адкарэктуйце колькасць працэсаў, каб забяспечыць стабільнасць сайта пры высокай паралельнасці.
- Незалежныя файлы журналаў спрашчаюць пошук і ліквідацыю непаладак.
Перавага такога падыходу — ізаляцыя бяспекі: нават калі адзін сайт будзе атакаваны, іншыя сайты не пацерпяць.
dummy.conf: Прыклад або файл-запаўняльнік
dummy.conf Звычайна гэта шаблоны або прыклады, прадастаўленыя сістэмай.
Ён не будзе насамрэч уключаны, пакуль вы ўручную не зменіце і не ўключыце яго.
Яго мэта — даць вам даведнік і паказаць, як напісаць новую канфігурацыю пула.
Такім чынам, гэта больш падобна на «інструкцыю па эксплуатацыі», чым на рэальную канфігурацыю для працы.
Навошта выкарыстоўваць некалькі файлаў пула?
- 性 性Розныя сайты павінны кіравацца рознымі карыстальнікамі, каб пазбегнуць дубліравання правоў доступу.
- 性能优化Колькасць працэсаў можна ўсталяваць індывідуальна для кожнага пула і рэгуляваць у залежнасці ад попыту на трафік.
- ІзаляцыяЖурналы, вывад памылак і парты праслухоўвання падзеленыя, што спрашчае пошук і ліквідацыю непаладак.
Напрыклад, калі www.conf Яно развалілася.etufo.org.conf Ён усё яшчэ можа працаваць нармальна і не выведзе з ладу ўвесь сервер.
Практычныя сцэнарыі прымянення
- Аднасайтавы серверВыкарыстоўвайце толькі
www.confГэтага дастаткова. - Шматсайтавы серверСтварыце па адным для кожнага сайта
.confФайлы, такія якetufo.org.conf. - dummy.confТолькі для даведкі, не рэкамендуецца.
Прыклад параўнання канфігурацый
www.conf (пул па змаўчанні)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (карыстальніцкі пул)
[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log
Вы ўбачыце, што розніца заключаецца ў карыстальніку, адрасе праслухоўвання і колькасці працэсаў.
Карэкцыя параметраў пула працэсаў PHP-FPM
Калі канфігурацыя выкарыстоўвае дынамічныГэта метад папярэдняга запуску некаторых працоўных працэсаў і дынамічнай карэкціроўкі іх у залежнасці ад аб'ёму запытаў, што дазваляе хутчэй рэагаваць, калі аб'ём запытаў раптоўна павялічваецца.
Для вэб-сайтаў з пэўным аб'ёмам трафіку рэкамендуецца выкарыстоўваць pm = dynamicТаму што ён можа падтрымліваць пэўную колькасць бяздзейных працэсаў і пазбегнуць 500 памылак падчас высокай паралельнасці.
Рэкамендуецца выкарыстоўваць яго толькі тады, калі аб'ём доступу надзвычай нізкі, а рэсурсаў памяці мала. pm = ondemand Каб зэканоміць рэсурсы.
Рэкамендуецца змяніць яго на дынамічны і аптымізаваць. pm.max_children І іншыя параметры:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
Такая канфігурацыя забяспечвае прадукцыйнасць, пазбягаючы пры гэтым марнавання рэсурсаў.
Падрабязныя інструкцыі па канфігурацыі глядзіце ў наступным падручніку ▼
Згодна з афіцыйнай дакументацыяй PHP:
«Кожны пул можна наладзіць незалежна, што дазваляе выкарыстоўваць розных карыстальнікаў, абмежаванні і налады для кожнага прыкладання».
Гэта сцвярджэнне выразна паказвае на важнасць шматпулавай канфігурацыі: незалежнасць, гнуткасць і кіравальнасць.
Выснова: Мой пункт гледжання
Канфігурацыя сервера падобная да дырыжора ў аркестры, які вызначае, як павінен іграцца кожны інструмент.
www.conf Гэта дырыжор па змаўчанні, прыдатны для сольных выступаў;etufo.org.conf Гэта дырыжор, створаны спецыяльна для пэўнай сцэны; і dummy.conf Гэта чарнавік нотных партытур, які нагадвае вам, як пісаць новыя мелодыі.
У эпоху, калі ўвага надаецца інфармацыйнай бяспецы і аптымізацыі прадукцыйнасці, веданне таго, як правільна выкарыстоўваць гэтыя файлы канфігурацыі, з'яўляецца ключом да кантролю жыццяздольнасці сервера.
Канфігурацыя — гэта не проста звычайны тэкст; гэта душа сервера.
Калі вы працуецеWordPressДля шматсайтавых прыкладанняў мы настойліва рэкамендуем неадкладна праверыць і аптымізаваць гэтыя файлы пула, асабліва налады параметраў пула працэсаў, каб зрабіць ваш сервер сапраўды надзейным.
Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ Артыкул «Адрозненні і метады аптымізацыі файла канфігурацыі PHP-FPM /etc/php/8.3/fpm/pool.d/», размешчаны тут, можа быць карысным для вас.
Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-33845.html

