Erot ja optimointitekniikat PHP-FPM-määritystiedostossa /etc/php/8.3/fpm/pool.d/

Onko kaikki hyvin, kun palvelin on käynnissä? Itse asiassa PHP-FPM:n maailmassa asetustiedosto on todellinen aivoitus, joka määrittää, toimiiko sivusto vakaasti, turvallisesti ja tehokkaasti.

Mikä on PHP-FPM:n prosessipoolin konfigurointi?

PHP-FPM (FastCGI Process Manager) on PHP:n prosessienhallintaohjelma, joka käyttää "poolien" käsitettä hallitakseen PHP-prosesseja eri verkkosivustoille tai sovelluksille.

Joka .conf Tiedosto on poolimääritelmä, joka määrittää keskeiset parametrit, kuten käyttäjän, jolla prosessi suoritetaan, portin tai soketin, jota se kuuntelee, lokipolun ja prosessien lukumäärän.

Toisin sanoen nämä tiedostot ovat kuin palvelimesi "klooneja", joiden avulla eri sivustot voivat toimia itsenäisesti häiritsemättä toisiaan.

Erot ja optimointitekniikat PHP-FPM-määritystiedostossa /etc/php/8.3/fpm/pool.d/

www.conf: Oletusprosessipooli

PHP-FPM:n asentamisen jälkeen järjestelmä luo automaattisesti www.conf tiedosto.

Sen tehtävänä on tarjota oletusallas, joka toimii suoraan pakkauksesta ja tyypillisesti toimii... www-data Käyttäjä.

Tämä pooli sopii yhden sijainnin ympäristöihin, on helppo konfiguroida ja useimmat parametrit ovat yleisiä arvoja, kuten:

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

Jos toimit vain yhdellä sivustolla, tämä riittää.

etufo.org.conf: Mukautettu sivustopooli

Kun sinulla on useita sivustoja, sinun on luotava erillinen pooli jokaiselle sivustolle.

kuten esimerkiksi etufo.org.confSe on tarkoitettu erityisesti verkkotunnuksille. etufo. Org Yksinomainen kokoonpano.

Yleinen käytäntö on:

  • Määritä eri käyttäjät ja ryhmät, esimerkiksi user = etufo,group = etufo
  • Määritä esimerkiksi erillinen kuunteluportti tai -pistorasia listen = /run/php/etufo.sock
  • Säädä prosessien määrää varmistaaksesi sivuston vakauden korkean samanaikaisuuden aikana.
  • Itsenäiset lokitiedostot helpottavat vianmääritystä.

Tämän lähestymistavan etuna on turvallisuuseristys: vaikka yhtä sivustoa hyökättäisiin, muut sivustot eivät kärsi.

dummy.conf: Esimerkki tai paikkamerkkitiedosto

dummy.conf Nämä ovat yleensä järjestelmän tarjoamia malleja tai esimerkkejä.

Se ei itse asiassa tule käyttöön, ellet muokkaa ja ota sitä käyttöön manuaalisesti.

Sen tarkoituksena on tarjota sinulle viite ja näyttää, miten uusi poolikonfiguraatio kirjoitetaan.

Siksi se on enemmänkin "käyttöohje" kuin varsinainen käyttöohje.

Miksi käyttää useita pool-tiedostoja?

  • 安全 性Eri sivustojen tulisi olla eri käyttäjien hallinnassa päällekkäisten käyttöoikeuksien välttämiseksi.
  • 性能优化Prosessien määrä voidaan asettaa erikseen kullekin poolille ja säätää liikenteen kysynnän mukaan.
  • EristäytyminenLokit, virhetulosteet ja kuunteluportit ovat kaikki erillään, mikä helpottaa vianmääritystä.

Esimerkiksi, jos www.conf Se romahti.etufo.org.conf Se voi silti toimia normaalisti eikä kaada koko palvelinta.

Todellisen maailman sovellusskenaariot

  • Yhden sivuston palvelinKäytä vain www.conf Se riittää.
  • MonisivustopalvelinRakenna yksi jokaiselle sivustolle .conf Tiedostot, kuten etufo.org.conf.
  • nukke.confVain viitteeksi, ei suositella.

Konfiguraation vertailuesimerkki

www.conf (oletuspooli)

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

etufo.org.conf (Mukautettu pooli)

[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

Huomaat, että ero on käyttäjässä, kuunteluosoitteessa ja prosessien lukumäärässä.

PHP-FPM-prosessipoolin parametrien säätäminen

Jos kokoonpano käyttää dynaaminenTämä on menetelmä, jolla voidaan käynnistää joitakin työprosesseja etukäteen ja säätää niitä dynaamisesti pyyntöjen määrän mukaan, mikä voi reagoida nopeammin, kun pyyntöjen määrä äkillisesti kasvaa.

Verkkosivustoille, joilla on tietty määrä liikennettä, on suositeltavaa käyttää pm = dynamicKoska se pystyy ylläpitämään tietyn määrän käyttämättömiä prosesseja ja välttämään 500 virhettä suuren samanaikaisuuden aikana.

Sitä suositellaan käytettäväksi vain silloin, kun käyttöoikeusmäärä on erittäin pieni ja muistiresurssit ovat tiukat. pm = ondemand Resurssien säästämiseksi.

On suositeltavaa muuttaa se dynaamiseksi ja optimoida se. pm.max_children Ja muut parametrit:

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ämä kokoonpano varmistaa suorituskyvyn ja välttää resurssien tuhlausta.

Tarkemmat määritysohjeet löytyvät seuraavasta opetusohjelmasta ▼

Virallisen PHP-dokumentaation mukaan:

"Jokainen allas voidaan konfiguroida itsenäisesti, mikä mahdollistaa eri käyttäjät, rajoitukset ja asetukset sovelluskohtaisesti."

Tämä lausunto osoittaa selvästi usean allaskokoonpanon merkityksen: itsenäisyyden, joustavuuden ja hallittavuuden.

Johtopäätös: Minun näkökulmani

Palvelimen kokoonpano on kuin orkesterin kapellimestari, joka määrittää, miten kutakin instrumenttia tulisi soittaa.

www.conf Se on oletuskapellimestari, joka sopii sooloesityksiin;etufo.org.conf Se on tiettyä näyttämöä varten räätälöity kapellimestari; ja dummy.conf Se on nuottitekstien luonnos, joka muistuttaa sinua uusien melodioiden kirjoittamisesta.

Tietoturvaan ja suorituskyvyn optimointiin keskittyvällä aikakaudella näiden määritystiedostojen oikean käytön tunteminen on avainasemassa palvelimen elinehtojen hallinnassa.

Konfiguraatio ei ole vain triviaalia tekstiä; se on palvelimen sielu.

Jos toimitWordPressUsean sivuston sovelluksissa suosittelemme vahvasti, että tarkistat ja optimoit nämä poolitiedostot välittömästi, erityisesti prosessipoolin parametriasetukset, jotta palvelimestasi tulee todella luotettava.

发表 评论

Sähköpostiosoitettasi ei julkaista. 必填 项 已 用 * 标注

Artikkelihakemisto
Siirry alkuun