Otu esi eme ma nyochaa ọnọdụ PHP-FPM na Nginx


PHP-FPM (FastCGI Process Manager) bụ ihe ọzọ PHP FastCGI mmejuputa atumatu nke na-abịa na ọnụ ọgụgụ nke amara atụmatụ bara uru maka weebụsaịtị nke ọ bụla size, karịsịa saịtị na-enweta elu okporo ụzọ.

A na-ejikarị ya na nchịkọta LEMP (Linux Nginx MySQL/MariaDB PHP); Nginx na-eji PHP FastCGI maka ozi ọdịnaya HTTP siri ike na netwọkụ. A na-eji ya na-eje ozi ọtụtụ nde PHP arịrịọ maka narị weebụsaịtị na sava weebụ na ịntanetị.

Otu n'ime njirimara bara uru nke php-fpm bụ ibe ọnọdụ arụnyere, nke nwere ike inyere gị aka nyochaa ahụike ya. N'isiokwu a, anyị ga-egosi otu esi eme ka ibe ọnọdụ PHP-FPM dị na Linux.

Otu esi eme ka ibe ọnọdụ PHP-FPM dị na Linux

Buru ụzọ mepee faịlụ nhazi php-fpm wee mee ka ibe ọnọdụ dị ka egosiri.

$ sudo vim /etc/php-fpm.d/www.conf 
OR
$ sudo vim /etc/php/7.2/fpm/pool.d/www.conf	#for PHP versions 5.6, 7.0, 7.1

N'ime faịlụ a, chọta ma kwupụta mgbanwe pm.status_path =/status dị ka egosiri na nseta ihuenyo.

Chekwaa mgbanwe ndị ahụ wee pụọ na faịlụ ahụ.

Na-esote, lelee na faịlụ nhazi PHP-FPM maka njehie ọ bụla site na ịme iwu dị n'okpuru.

$ sudo php-fpm -t
OR
$ sudo php7.2-fpm -t

Mgbe ahụ malitegharịa ọrụ PHP-FPM ka itinye mgbanwe ndị na-adịbeghị anya.

$ sudo systemctl restart php-fpm
OR
$ sudo systemctl restart php7.2-fpm

Na-esote, dezie faịlụ nhazi ihe nkesa nke ndabara (virtual host) wee tinye ngọngọ ọnọdụ n'okpuru na ya. Dịka ọmụmaatụ na usoro ule, faịlụ nhazi ihe nkesa nke ndabara bụ /etc/nginx/conf.d/default.conf, maka saịtị test.lab.

$ sudo vim /etc/nginx/conf.d/default.conf 

Nke a bụ ngọngọ ebe a ga-agbakwunye. Na nhazi a, anyị ahapụla naanị ịnweta PHP-FPM usoro nhazi n'ime localhost site na iji ntuziaka nyere 127.0.0.1 maka ihe nchekwa.

location ~ ^/(status|ping)$ {
        allow 127.0.0.1;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass   unix:/var/run/php7.2-fpm.sock;
}

Chekwaa faịlụ ma mechie ya.

Mgbe ahụ malitegharịa ihe nkesa Nginx ka itinye mgbanwe ndị dị n'elu.

$ sudo systemctl restart nginx

Ugbu a mepee ihe nchọgharị wee pịnye URL http://test.lab/status ka ịlele ọkwa usoro PHP-FPM gị.

N'aka nke ọzọ, jiri mmemme curl dị ka ndị a, ebe ọkọlọtọ -L na-akọwapụta ebe ibe dị.

$ curl -L http://test.lab/status

Site na ndabara, ibe ọkwa na-ebipụta naanị nchịkọta ma ọ bụ ọkwa dị mkpụmkpụ. Ka ilele ọkwa maka usoro ọdọ mmiri ọ bụla, gafere zuru na eriri ajụjụ, dịka ọmụmaatụ:

http://www.foo.bar/status?full

Ị nwere ike ịkọwapụta usoro mmepụta (JSON, HTML ma ọ bụ XML) dịka egosiri.

http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full

N'okpuru bụ ụkpụrụ eweghachiri na php-fpm zuru oke, maka usoro ọ bụla:

  • pid – PID nke usoro a.
  • Ọkwa usoro steeti (anaghị arụ ọrụ, ịgba ọsọ, wdg.)
  • oge mmalite – ụbọchị na oge usoro a malitere.
  • bido kemgbe – ọnụọgụ sekọnd kemgbe usoro amalitela.
  • arịrịọ – ọnụ ọgụgụ nke arịrịọ usoro a arịọla.
  • Oge arịrịọ - oge n'ime µs nke arịrịọ a.
  • Ụzọ arịrịọ – usoro arịrịọ (GET, POST, wdg.)
  • riọ URI - jiri eriri ajụjụ rịọ URI.
  • ogologo ọdịnaya - ogologo ọdịnaya nke arịrịọ (naanị na POST).
  • onye ọrụ – onye ọrụ (PHP_AUTH_USER) (ma ọ bụ ‘-’ ma ọ bụrụ na edoghị ya).
  • edemede – a na-akpọ isi edemede (ma ọ bụ ‘-’ ma ọ bụrụ na edoghị ya).
  • Arịrịọ ikpeazụ cpu – %cpu ikpeazụ arịrịọ e riri (rịba ama na ọ na-abụkarị 0 ma ọ bụrụ na usoro ahụ anọghị na steeti Idle).
  • ebe nchekwa arịrịọ ikpeazụ – oke ebe nchekwa arịrịọ ikpeazụ e riri (ọ na-abụkarị 0 ma ọ bụrụ na usoro ahụ anọghị na steeti Idle).

Nke ahụ bụ maka ugbu a! N'ime edemede a, anyị akọwala otu esi eme ka ibe ọnọdụ php-fpm dị n'okpuru sava weebụ Nginx. Jiri mpempe nzaghachi n'okpuru ịkọrọ anyị echiche gị.