Mga pagkakaiba at pamamaraan ng pag-optimize sa PHP-FPM configuration file /etc/php/8.3/fpm/pool.d/

Ayos lang ba ang lahat kapag tumatakbo na ang server? Sa totoo lang, sa mundo ng PHP-FPM, ang configuration file ang tunay na utak, na tumutukoy kung ang site ay maaaring tumakbo nang matatag, ligtas, at mahusay.

Ano ang configuration ng process pool para sa PHP-FPM?

Ang PHP-FPM (FastCGI Process Manager) ay isang process manager para sa PHP na gumagamit ng konsepto ng "pools" upang pamahalaan ang mga proseso ng PHP para sa iba't ibang website o aplikasyon.

Bawat .conf Ang file ay isang kahulugan ng pool na tumutukoy sa mga pangunahing parameter tulad ng user kung saan tumatakbo ang proseso, ang port o socket na pinakikinggan nito, ang log path, at ang bilang ng mga proseso.

Sa madaling salita, ang mga file na ito ay parang mga "clone" para sa iyong server, na nagpapahintulot sa iba't ibang mga site na tumakbo nang nakapag-iisa nang hindi nakikialam sa isa't isa.

Mga pagkakaiba at pamamaraan ng pag-optimize sa PHP-FPM configuration file /etc/php/8.3/fpm/pool.d/

www.conf: Ang default na process pool

Pagkatapos i-install ang PHP-FPM, awtomatikong bubuo ang sistema ng www.conf file

Ang tungkulin nito ay magbigay ng isang default na pool na gumagana agad, karaniwang tumatakbo sa... www-data Gumagamit.

Ang pool na ito ay angkop para sa mga single-site na kapaligiran, madaling i-configure, at karamihan sa mga parameter ay mga generic na halaga, tulad ng:

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

Kung iisang site lang ang pinapatakbo mo, sapat na ito.

etufo.org.conf: Pasadyang pool ng site

Kapag mayroon kang maraming site, kailangan mong lumikha ng hiwalay na pool para sa bawat site.

Halimbawa etufo.org.confIto ay partikular para sa mga domain name. etufo. Org Eksklusibong pagsasaayos.

Ang karaniwang gawain ay:

  • Tukuyin ang iba't ibang mga user at grupo, halimbawa user = etufo,group = etufo
  • Mag-configure ng hiwalay na listening port o socket, halimbawa listen = /run/php/etufo.sock
  • Ayusin ang bilang ng mga proseso upang matiyak ang katatagan ng site sa ilalim ng mataas na sabay-sabay na operasyon.
  • Pinapadali ng mga independiyenteng log file ang pag-troubleshoot.

Ang bentahe ng pamamaraang ito ay ang paghihiwalay sa seguridad: kahit na ang isang site ay inatake, ang ibang mga site ay hindi maaapektuhan.

dummy.conf: Halimbawa o placeholder file

dummy.conf Kadalasan, ang mga ito ay mga template o halimbawa na ibinibigay ng sistema.

Hindi ito aktwal na mapapagana maliban kung manu-mano mo itong babaguhin at paganahin.

Ang layunin nito ay magbigay sa iyo ng sanggunian at ipakita sa iyo kung paano sumulat ng isang bagong configuration ng pool.

Samakatuwid, ito ay mas katulad ng isang "manwal ng tagubilin" kaysa sa isang aktwal na konfigurasyon para sa operasyon.

Bakit gagamit ng maraming pool file?

  • 安全 性Dapat patakbuhin ang iba't ibang site ng iba't ibang user upang maiwasan ang magkakapatong na mga pahintulot.
  • 性能优化Ang bilang ng mga proseso ay maaaring itakda nang paisa-isa para sa bawat pool at iakma ayon sa demand ng trapiko.
  • IsolationAng mga log, error output, at listening port ay pawang nakahiwalay, na ginagawang mas madali ang pag-troubleshoot.

Halimbawa, kung www.conf Gumuho ito.etufo.org.conf Maaari pa rin itong tumakbo nang normal at hindi nito mapapabagsak ang buong server.

Praktikal na mga sitwasyon ng aplikasyon

  • Server na may iisang siteGamitin lamang www.conf Tama na iyan.
  • Multisite server: Gumawa ng isa para sa bawat site .conf Mga file, tulad ng etufo.org.conf.
  • dummy.confPara sa sanggunian lamang, hindi inirerekomenda.

Halimbawa ng Paghahambing ng Konfigurasyon

www.conf (default na pool)

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

etufo.org.conf (Pasadyang Pool)

[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

Makikita mo na ang pagkakaiba ay nasa user, listening address, at bilang ng mga proseso.

Pagsasaayos ng mga parameter ng PHP-FPM process pool

Kung gumagamit ang configuration dynamicIsa itong paraan ng paunang pagsisimula ng ilang proseso ng trabaho at dynamic na pagsasaayos ng mga ito ayon sa dami ng kahilingan, na maaaring tumugon nang mas mabilis kapag biglang tumaas ang dami ng kahilingan.

Para sa mga website na may tiyak na dami ng trapiko, inirerekomendang gamitin pm = dynamicDahil maaari itong mapanatili ang isang tiyak na dami ng mga idle na proseso at maiwasan ang 500 mga error sa panahon ng mataas na concurrency.

Inirerekomenda na gamitin lamang ito kapag ang dami ng pag-access ay napakababa at ang mga mapagkukunan ng memorya ay masikip. pm = ondemand Upang makatipid ng mga mapagkukunan.

Inirerekomenda na baguhin ito sa dynamic at i-optimize ito. pm.max_children At iba pang mga parameter:

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

Tinitiyak ng konpigurasyong ito ang pagganap habang iniiwasan ang pag-aaksaya ng mapagkukunan.

Para sa detalyadong mga tagubilin sa pag-configure, mangyaring sumangguni sa sumusunod na tutorial ▼

Ayon sa opisyal na dokumentasyon ng PHP:

"Ang bawat pool ay maaaring i-configure nang nakapag-iisa, na nagbibigay-daan para sa iba't ibang mga gumagamit, limitasyon, at mga setting sa bawat aplikasyon."

Malinaw na itinuturo ng pahayag na ito ang kahalagahan ng configuration ng multi-pool: kalayaan, kakayahang umangkop, at kakayahang kontrolin.

Konklusyon: Ang Aking Pananaw

Ang konpigurasyon ng server ay parang isang konduktor sa isang orkestra, na tumutukoy kung paano dapat tugtugin ang bawat instrumento.

www.conf Ito ang karaniwang konduktor, na angkop para sa mga solo na pagtatanghal;etufo.org.conf Ito ay isang konduktor na ginawa para sa isang partikular na yugto; at dummy.conf Ito ay isang burador ng mga iskor ng musika, na nagpapaalala sa iyo kung paano sumulat ng mga bagong himig.

Sa isang panahon na nakatuon sa seguridad ng impormasyon at pag-optimize ng pagganap, ang pag-alam kung paano wastong gamitin ang mga configuration file na ito ay susi sa pagkontrol sa lifeline ng isang server.

Ang configuration ay hindi lamang basta simpleng teksto; ito ang kaluluwa ng isang server.

Kung ikaw ay nagpapatakboWordPressPara sa mga multi-site na application, lubos naming inirerekomenda na agad mong suriin at i-optimize ang mga pool file na ito, lalo na ang mga setting ng parameter ng process pool, upang maging tunay na matibay ang iyong server.

发表 评论

Ang iyong email address ay hindi maipa-publish. 必填 项 已 用 * Tatak

Artikulo Direktoryo
Mag-scroll sa Tuktok