Straipsnių katalogas
Ar viskas gerai, kai serveris veikia? Tiesą sakant, PHP-FPM pasaulyje konfigūracijos failas yra tikrasis pagrindinis veiksnys, lemiantis, ar svetainė gali veikti stabiliai, saugiai ir efektyviai.
Kokia yra PHP-FPM procesų telkinio konfigūracija?
PHP-FPM („FastCGI Process Manager“) yra PHP procesų tvarkyklė, kuri naudoja „telkinių“ (angl. „pools“) koncepciją, kad valdytų skirtingų svetainių ar programų PHP procesus.
Kiekvienas .conf Failas yra telkinio apibrėžimas, kuriame nurodomi pagrindiniai parametrai, pvz., vartotojas, kuriame vykdomas procesas, prievadas arba lizdas, kurio jis klausosi, žurnalo kelias ir procesų skaičius.
Kitaip tariant, šie failai yra tarsi jūsų serverio „klonai“, leidžiantys skirtingoms svetainėms veikti nepriklausomai, netrukdant viena kitai.

www.conf: Numatytasis procesų telkinys
Įdiegus PHP-FPM, sistema automatiškai sugeneruos www.conf dokumentas.
Jo funkcija – pateikti numatytąjį telkinį, kuris veiktų iš karto, paprastai veikiantis... www-data Vartotojas.
Šis telkinys tinka vienos vietos aplinkai, jį lengva konfigūruoti, o dauguma parametrų yra bendrinės vertės, pvz.:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
Jei veikiate tik vienoje svetainėje, to pakanka.
etUfo.org.conf: Pasirinktinis svetainių telkinys
Kai turite kelias svetaines, turite sukurti atskirą telkinį kiekvienai svetainei.
pavyzdžiui etufo.org.confTai skirta specialiai domenų vardams. etUfo. Org Išskirtinė konfigūracija.
Įprasta praktika yra tokia:
- Nurodykite skirtingus naudotojus ir grupes, pvz.
user = etufo,group = etufo - Konfigūruokite atskirą klausymo prievadą arba lizdą, pvz.
listen = /run/php/etufo.sock - Koreguokite procesų skaičių, kad užtikrintumėte svetainės stabilumą esant dideliam lygiagretumui.
- Nepriklausomi žurnalų failai palengvina trikčių šalinimą.
Šio metodo privalumas yra saugumo izoliacija: net jei viena svetainė bus užpulta, kitos svetainės nebus paveiktos.
dummy.conf: Pavyzdys arba vietos rezervavimo failas
dummy.conf Paprastai tai yra sistemos pateikti šablonai arba pavyzdžiai.
Jis nebus iš tikrųjų įjungtas, nebent jį rankiniu būdu pakeisite ir įgalinsite.
Jo tikslas – pateikti jums nuorodą ir parodyti, kaip parašyti naują telkinio konfigūraciją.
Todėl tai labiau panašu į „naudojimo instrukciją“, o ne į faktinę veikimo konfigūraciją.
Kodėl naudoti kelis telkinio failus?
- 安全 性Skirtingas svetaines turėtų valdyti skirtingi vartotojai, kad būtų išvengta persidengiančių leidimų.
- 性能优化Procesų skaičių galima nustatyti individualiai kiekvienam telkiniui ir koreguoti pagal srauto poreikį.
- IsolationŽurnalai, klaidų išvestis ir klausymo prievadai yra atskirti, todėl trikčių šalinimas tampa lengvesnis.
Pavyzdžiui, jei www.conf Jis sugriuvo.etufo.org.conf Jis vis tiek gali veikti normaliai ir nesugadins viso serverio.
Faktiniai taikymo scenarijai
- Vienos vietos serverisNaudokite tik
www.confTo užtenka. - Kelių vietų serverisSukurkite po vieną kiekvienai svetainei
.confFailai, pvz.etufo.org.conf. - manekenas.confTik informaciniams tikslams, nerekomenduojama.
Konfigūracijos palyginimo pavyzdys
www.conf (numatytasis telkinys)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (pasirinktinis telkinys)
[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
Pamatysite, kad skirtumas slypi naudotojuje, klausymosi adrese ir procesų skaičiuje.
PHP-FPM procesų telkinio parametrų koregavimas
Jei konfigūracija naudoja dinamiškasTai metodas, leidžiantis iš anksto paleisti kai kuriuos darbo procesus ir dinamiškai juos koreguoti pagal užklausų kiekį, kad būtų galima greičiau reaguoti, kai užklausų kiekis staiga padidėja.
Svetainėms, turinčioms tam tikrą srautą, rekomenduojama naudoti pm = dynamicNes jis gali palaikyti tam tikrą kiekį neveikos procesų ir išvengti 500 klaidų esant dideliam lygiagretumui.
Rekomenduojama jį naudoti tik tada, kai prieigos apimtis yra itin maža, o atminties ištekliai – riboti. pm = ondemand Taupant išteklius.
Rekomenduojama jį pakeisti į dinaminį ir optimizuoti. pm.max_children Ir kiti parametrai:
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 后自动退出
Ši konfigūracija užtikrina našumą, kartu išvengiant išteklių švaistymo.
Išsamias konfigūravimo instrukcijas rasite šiame vadove ▼
Pagal oficialią PHP dokumentaciją:
„Kiekvieną telkinį galima konfigūruoti atskirai, leidžiant naudoti skirtingus vartotojus, apribojimus ir nustatymus kiekvienai programai.“
Šis teiginys aiškiai pabrėžia kelių baseinų konfigūracijos svarbą: nepriklausomumą, lankstumą ir valdomumą.
Išvada: Mano požiūris
Serverio konfigūracija yra tarsi dirigentas orkestre, nustatantis, kaip turėtų būti grojamas kiekvienas instrumentas.
www.conf Tai yra numatytasis dirigentas, tinkamas solo pasirodymams;etufo.org.conf Tai dirigentas, specialiai sukurtas konkrečiai scenai; ir dummy.conf Tai muzikinių natų juodraštis, primenantis, kaip rašyti naujas melodijas.
Šiais laikais, kai daugiausia dėmesio skiriama informacijos saugumui ir našumo optimizavimui, žinojimas, kaip tinkamai naudoti šiuos konfigūracijos failus, yra labai svarbus norint valdyti serverio gyvybingumą.
Konfigūracija nėra tik trivialus tekstas; tai serverio siela.
Jei veikiateWordPressKelių svetainių programoms primygtinai rekomenduojame nedelsiant patikrinti ir optimizuoti šiuos telkinio failus, ypač procesų telkinio parametrų nustatymus, kad jūsų serveris būtų tikrai patikimas.
Hope Chen Weiliang tinklaraštis ( https://www.chenweiliang.com/ Čia pateiktas straipsnis „PHP-FPM /etc/php/8.3/fpm/pool.d/ konfigūracijos failo skirtumai ir optimizavimo metodai“ gali jums būti naudingas.
Kviečiame pasidalinti šio straipsnio nuoroda:https://www.chenweiliang.com/cwl-33845.html

