Adresár článkov
Je všetko v poriadku, keď je server spustený? V skutočnosti je vo svete PHP-FPM konfiguračný súbor skutočným mozgom, ktorý určuje, či stránka môže fungovať stabilne, bezpečne a efektívne.
Aká je konfigurácia fondu procesov pre PHP-FPM?
PHP-FPM (FastCGI Process Manager) je správca procesov pre PHP, ktorý využíva koncept „fondov“ na správu PHP procesov pre rôzne webové stránky alebo aplikácie.
Každý .conf Súbor je definícia fondu, ktorá špecifikuje kľúčové parametre, ako napríklad používateľa, na ktorom proces beží, port alebo soket, na ktorom počúva, cestu k protokolu a počet procesov.
Inými slovami, tieto súbory sú ako „klony“ vášho servera, ktoré umožňujú rôznym stránkam bežať nezávisle bez toho, aby sa navzájom rušili.

www.conf: Predvolený fond procesov
Po nainštalovaní PHP-FPM systém automaticky vygeneruje www.conf dokument.
Jeho funkciou je poskytnúť predvolený fond, ktorý funguje ihneď po vybalení z krabice, zvyčajne beží v... www-data Používateľ.
Tento fond je vhodný pre prostredia s jedným miestom, ľahko sa konfiguruje a väčšina parametrov sú všeobecné hodnoty, ako napríklad:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
Ak prevádzkujete iba na jednej stránke, toto stačí.
etUFO.org.conf: Vlastný fond stránok
Ak máte viacero lokalít, musíte pre každú lokalitu vytvoriť samostatný fond.
ako napr etufo.org.confJe to špecificky určené pre doménové mená. etUFO.org Exkluzívna konfigurácia.
Bežná prax je:
- Zadajte rôznych používateľov a skupiny, napríklad
user = etufo,group = etufo - Nakonfigurujte napríklad samostatný port alebo socket na počúvanie
listen = /run/php/etufo.sock - Upravte počet procesov, aby ste zabezpečili stabilitu lokality pri vysokej súbežnosti.
- Nezávislé súbory protokolov uľahčujú riešenie problémov.
Výhodou tohto prístupu je bezpečnostná izolácia: aj keď je napadnutá jedna stránka, ostatné stránky nebudú ovplyvnené.
dummy.conf: Príklad alebo zástupný súbor
dummy.conf Zvyčajne ide o šablóny alebo príklady poskytované systémom.
V skutočnosti nebude povolené, pokiaľ ho manuálne neupravíte a nepovolíte.
Jeho účelom je poskytnúť vám referenciu a ukázať vám, ako napísať novú konfiguráciu fondu.
Preto je to skôr „návod na použitie“ než skutočná konfigurácia pre prevádzku.
Prečo používať viacero súborov pool?
- 安全 性Rôzne stránky by mali prevádzkovať rôzni používatelia, aby sa predišlo prekrývaniu oprávnení.
- 性能优化Počet procesov je možné nastaviť individuálne pre každý pool a upraviť podľa dopytu po prevádzke.
- IzoláciaZáznamy, chybový výstup a porty na počúvanie sú oddelené, čo uľahčuje riešenie problémov.
Napríklad, ak www.conf Zrútilo sa to.etufo.org.conf Stále môže bežať normálne a nezruinuje celý server.
Praktické aplikačné scenáre
- Server s jednou lokalitouPoužívajte iba
www.confTo stačí. - Viacmiestne serveryVytvorte jeden pre každé miesto
.confSúbory, ako napríkladetufo.org.conf. - dummy.confLen pre informáciu, neodporúča sa.
Príklad porovnania konfigurácie
www.conf (predvolený fond)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (Vlastný fond)
[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
Zistíte, že rozdiel spočíva v používateľovi, počúvacej adrese a počte procesov.
Úprava parametrov procesného fondu PHP-FPM
Ak konfigurácia používa dynamickýIde o metódu predbežného spustenia niektorých pracovných procesov a ich dynamického prispôsobovania podľa objemu požiadaviek, čo umožňuje rýchlejšie reagovať, keď sa objem požiadaviek náhle zvýši.
Pre webové stránky s určitou návštevnosťou sa odporúča použiť pm = dynamicPretože dokáže udržiavať určitý počet nečinných procesov a vyhnúť sa 500 chybám počas vysokej súbežnosti.
Odporúča sa ho používať iba vtedy, keď je objem prístupu extrémne nízky a pamäťové zdroje sú obmedzené. pm = ondemand Aby sa šetrili zdroje.
Odporúča sa ho zmeniť na dynamický a optimalizovať. pm.max_children A ďalšie parametre:
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 后自动退出
Táto konfigurácia zaisťuje výkon a zároveň zabraňuje plytvaniu zdrojmi.
Podrobné pokyny na konfiguráciu nájdete v nasledujúcom návode ▼
Podľa oficiálnej dokumentácie PHP:
„Každý pool je možné nakonfigurovať nezávisle, čo umožňuje rôznych používateľov, limity a nastavenia pre každú aplikáciu.“
Toto tvrdenie jasne poukazuje na význam konfigurácie viacerých bazénov: nezávislosť, flexibilitu a ovládateľnosť.
Záver: Môj pohľad
Konfigurácia servera je ako dirigent v orchestri, ktorý určuje, ako sa má hrať na každý nástroj.
www.conf Je to predvolený dirigent, vhodný pre sólové vystúpenia;etufo.org.conf Je to dirigent vyrobený na mieru pre konkrétne pódium; a dummy.conf Je to návrh hudobných partitúr, ktorý vám pripomína, ako písať nové melódie.
V dobe zameranej na informačnú bezpečnosť a optimalizáciu výkonu je znalosť správneho používania týchto konfiguračných súborov kľúčom k riadeniu životného cyklu servera.
Konfigurácia nie je len triviálny text; je to duša servera.
Ak prevádzkujeteWordPressV prípade aplikácií s viacerými lokalitami dôrazne odporúčame okamžite skontrolovať a optimalizovať tieto súbory fondu, najmä nastavenia parametrov fondu procesov, aby bol váš server skutočne spoľahlivý.
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ Článok „Rozdiely a optimalizačné techniky konfiguračného súboru PHP-FPM /etc/php/8.3/fpm/pool.d/“, ktorý je tu zdieľaný, by vám mohol byť užitočný.
Vitajte pri zdieľaní odkazu na tento článok:https://www.chenweiliang.com/cwl-33845.html

