Atšķirības un optimizācijas metodes PHP-FPM konfigurācijas failā /etc/php/8.3/fpm/pool.d/

Vai viss ir kārtībā, kad serveris darbojas? Patiesībā PHP-FPM pasaulē konfigurācijas fails ir īstais galvenais prāts, kas nosaka, vai vietne var darboties stabili, droši un efektīvi.

Kāda ir PHP-FPM procesu kopas konfigurācija?

PHP-FPM (FastCGI Process Manager) ir PHP procesu pārvaldnieks, kas izmanto "pūlu" koncepciju, lai pārvaldītu PHP procesus dažādām tīmekļa vietnēm vai lietojumprogrammām.

Katrs .conf Fails ir pūla definīcija, kas norāda galvenos parametrus, piemēram, lietotāju, kurā process darbojas, portu vai ligzdu, kuru tas klausās, žurnāla ceļu un procesu skaitu.

Citiem vārdiem sakot, šie faili ir kā jūsu servera "kloni", kas ļauj dažādām vietnēm darboties neatkarīgi, netraucējot vienai otrai.

Atšķirības un optimizācijas metodes PHP-FPM konfigurācijas failā /etc/php/8.3/fpm/pool.d/

www.conf: Noklusējuma procesu kopa

Pēc PHP-FPM instalēšanas sistēma automātiski ģenerēs www.conf dokumentu.

Tās funkcija ir nodrošināt noklusējuma pūlu, kas darbojas uzreiz pēc instalēšanas, parasti darbojoties... www-data Lietotājs.

Šis pūls ir piemērots vienas vietnes videi, to ir viegli konfigurēt, un lielākā daļa parametru ir vispārīgas vērtības, piemēram:

  • user = www-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.max_children = 5

Ja jūs strādājat tikai vienā vietnē, ar to pietiek.

etNLO.org.conf: Pielāgota vietņu kopa

Ja jums ir vairākas vietnes, katrai vietnei ir jāizveido atsevišķs baseins.

piemēram, etufo.org.confTas ir īpaši paredzēts domēna vārdiem. etNLO. Org Ekskluzīva konfigurācija.

Izplatītā prakse ir šāda:

  • Norādiet dažādus lietotājus un grupas, piemēram user = etufo,group = etufo
  • Konfigurējiet, piemēram, atsevišķu klausīšanās portu vai ligzdu. listen = /run/php/etufo.sock
  • Pielāgojiet procesu skaitu, lai nodrošinātu vietnes stabilitāti augstas vienlaicīguma apstākļos.
  • Neatkarīgi žurnālfaili atvieglo problēmu novēršanu.

Šīs pieejas priekšrocība ir drošības izolācija: pat ja viena vietne tiek uzbrukta, citas vietnes netiks ietekmētas.

dummy.conf: Piemērs vai aizvietotāja fails

dummy.conf Parasti tās ir sistēmas nodrošinātas veidnes vai piemēri.

Tas faktiski netiks iespējots, ja vien to manuāli nemodificēsiet un neiespējosiet.

Tās mērķis ir sniegt jums atsauci un parādīt, kā uzrakstīt jaunu pūla konfigurāciju.

Tāpēc tā drīzāk ir "lietošanas instrukcija", nevis faktiska darbības konfigurācija.

Kāpēc izmantot vairākus pūla failus?

  • 安全 性Dažādas vietnes jāpārvalda dažādiem lietotājiem, lai izvairītos no atļauju pārklāšanās.
  • 性能优化Procesu skaitu var iestatīt individuāli katram pūlam un pielāgot atbilstoši datplūsmas pieprasījumam.
  • IzolācijaŽurnāli, kļūdu izvade un klausīšanās porti ir atdalīti, tādējādi atvieglojot problēmu novēršanu.

Piemēram, ja www.conf Tas sabruka.etufo.org.conf Tas joprojām var darboties normāli un neizslēgs visu serveri.

Reālās pasaules lietojumprogrammu scenāriji

  • Vienas vietnes serverisIzmantojiet tikai www.conf Ar to pietiek.
  • Vairāku vietņu serverisIzveidojiet vienu katrai vietnei .conf Faili, piemēram, etufo.org.conf.
  • manekens.confTikai uzziņai, nav ieteicams.

Konfigurācijas salīdzināšanas piemērs

www.conf (noklusējuma pūls)

[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5

etufo.org.conf (pielāgots pūls)

[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

Jūs atklāsiet, ka atšķirība slēpjas lietotājā, klausīšanās adresē un procesu skaitā.

PHP-FPM procesu pūla parametru pielāgošana

Ja konfigurācija izmanto dinamisksŠī ir metode, kas ļauj iepriekš sākt dažus darba procesus un dinamiski pielāgot tos atbilstoši pieprasījumu apjomam, kas var ātrāk reaģēt, kad pieprasījumu apjoms pēkšņi palielinās.

Tīmekļa vietnēm ar noteiktu apmeklētāju skaitu ieteicams izmantot pm = dynamicJo tas var uzturēt noteiktu daudzumu dīkstāves procesu un izvairīties no 500 kļūdām augstas vienlaicības laikā.

Ieteicams to izmantot tikai tad, ja piekļuves apjoms ir ārkārtīgi mazs un atmiņas resursi ir ierobežoti. pm = ondemand Lai taupītu resursus.

Ieteicams to mainīt uz dinamisko un optimizēt. pm.max_children Un citi parametri:

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 后自动退出

Šī konfigurācija nodrošina veiktspēju, vienlaikus izvairoties no resursu izšķērdēšanas.

Detalizētus konfigurācijas norādījumus skatiet šajā pamācībā ▼

Saskaņā ar oficiālo PHP dokumentāciju:

“Katru pūlu var konfigurēt neatkarīgi, ļaujot izmantot dažādus lietotājus, ierobežojumus un iestatījumus katrai lietojumprogrammai.”

Šis apgalvojums skaidri norāda uz vairāku baseinu konfigurācijas nozīmi: neatkarību, elastību un vadāmību.

Secinājums: Mans viedoklis

Servera konfigurācija ir kā diriģents orķestrī, kas nosaka, kā katrs instruments jāspēlē.

www.conf Tas ir noklusējuma diriģents, piemērots solo priekšnesumiem;etufo.org.conf Tas ir diriģents, kas īpaši radīts konkrētai skatuvei; un dummy.conf Tas ir nošu melnraksts, kas atgādina, kā rakstīt jaunas melodijas.

Laikmetā, kurā galvenā uzmanība tiek pievērsta informācijas drošībai un veiktspējas optimizācijai, zināšanas par to, kā pareizi izmantot šos konfigurācijas failus, ir būtiskas servera dzīvības līnijas kontrolei.

Konfigurācija nav tikai triviāls teksts; tā ir servera dvēsele.

Ja jūs darbojatiesWordPressVairāku vietņu lietojumprogrammām mēs stingri iesakām nekavējoties pārbaudīt un optimizēt šos pūla failus, īpaši procesu pūla parametru iestatījumus, lai jūsu serveris būtu patiesi stabils.

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

Rakstu katalogs
Ritiniet uz augšu