Rozdiely a optimalizačné techniky v konfiguračnom súbore PHP-FPM /etc/php/8.3/fpm/pool.d/

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.

Rozdiely a optimalizačné techniky v konfiguračnom súbore PHP-FPM /etc/php/8.3/fpm/pool.d/

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-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.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.conf To stačí.
  • Viacmiestne serveryVytvorte jeden pre každé miesto .conf Súbory, ako napríklad etufo.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ý.

发表 评论

Vaša emailová adresa nebude zverejnená. 必填 项 已 用 * Štítok

Adresár článkov
Prejdite na začiatok