Jinsi ya kuwezesha na Kufuatilia Hali ya PHP-FPM katika Nginx


PHP-FPM (Kidhibiti Mchakato wa FastCGI) ni utekelezaji mbadala wa PHP FastCGI unaokuja na idadi ya vipengele vya ziada muhimu kwa tovuti za ukubwa wowote, hasa tovuti zinazopokea trafiki nyingi.

Inatumika kwa kawaida kwenye safu ya LEMP (Linux Nginx MySQL/MariaDB PHP); Nginx hutumia PHP FastCGI kwa kutumikia yaliyomo kwenye HTTP kwenye mtandao. Inatumika kuhudumia mamilioni ya maombi ya PHP kwa mamia ya tovuti kwenye seva za wavuti kwenye mtandao.

Moja ya vipengele muhimu vya php-fpm ni ukurasa wa hali iliyojengwa, ambayo inaweza kukusaidia kufuatilia afya yake. Katika makala hii, tutaonyesha jinsi ya kuwezesha ukurasa wa hali ya PHP-FPM kwenye Linux.

Jinsi ya kuwezesha Ukurasa wa Hali ya PHP-FPM katika Linux

Kwanza fungua faili ya usanidi wa php-fpm na uwashe ukurasa wa hali kama inavyoonyeshwa.

$ 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

Ndani ya faili hii, tafuta na uondoe maoni tofauti pm.status_path = /status kama inavyoonyeshwa kwenye picha ya skrini.

Hifadhi mabadiliko na uondoke kwenye faili.

Ifuatayo, angalia kuwa faili ya usanidi wa PHP-FPM kwa makosa yoyote kwa kutekeleza amri hapa chini.

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

Kisha anzisha upya huduma ya PHP-FPM ili kutumia mabadiliko ya hivi majuzi.

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

Ifuatayo, hariri faili ya usanidi ya kizuizi chako cha seva (mwenyeji halisi) na uongeze kizuizi cha eneo hapa chini. Kwa mfano kwenye mfumo wa majaribio, faili ya usanidi ya kizuizi cha seva chaguo-msingi ni /etc/nginx/conf.d/default.conf, kwa test.lab ya tovuti.

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

Hapa kuna kizuizi cha eneo cha kuongezwa. Katika usanidi huu, tumeruhusu tu ufikiaji wa hali ya mchakato wa PHP-FPM ndani ya mwenyeji kwa kutumia maagizo ruhusu 127.0.0.1 kwa sababu za usalama.

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;
}

Hifadhi faili na uifunge.

Kisha anza tena seva ya Nginx ili kutumia mabadiliko hapo juu.

$ sudo systemctl restart nginx

Sasa fungua kivinjari na uandike URL http://test.lab/status ili kuona hali yako ya mchakato wa PHP-FPM.

Vinginevyo, tumia programu ya curl kama ifuatavyo, ambapo alama ya -L inabainisha eneo la ukurasa.

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

Kwa chaguo-msingi, ukurasa wa hali huchapisha tu muhtasari au hali fupi. Ili kuona hali ya kila mchakato wa hifadhi, pitisha \kamili katika mfuatano wa hoja, kwa mfano:

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

Unaweza kufafanua umbizo la towe (JSON, HTML au XML) kama inavyoonyeshwa.

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

Ifuatayo ni maadili yaliyorejeshwa katika hali kamili ya php-fpm, kwa kila mchakato:

  • pid - PID ya mchakato.
  • hali hali ya mchakato (kutofanya kazi, kukimbia n.k.).
  • muda wa kuanza - tarehe na saa mchakato umeanza.
  • anza tangu - idadi ya sekunde tangu mchakato uanze.
  • maombi - idadi ya maombi ambayo mchakato umetoa.
  • muda wa ombi - muda katika µs za maombi.
  • mbinu ya ombi - njia ya ombi (GET, POST, n.k.).
  • omba URI - omba URI kwa mfuatano wa hoja.
  • urefu wa maudhui - urefu wa maudhui ya ombi (kwa POST pekee).
  • mtumiaji - mtumiaji (PHP_AUTH_USER) (au '-' ikiwa haijawekwa).
  • hati - hati kuu inayoitwa (au ‘-’ ikiwa haijawekwa).
  • ombi la mwisho cpu - %cpu ombi la mwisho lililotumiwa (kumbuka kuwa kila wakati ni 0 ikiwa mchakato hauko katika hali ya kutofanya kazi).
  • kumbukumbu ya ombi la mwisho - upeo wa juu wa kumbukumbu ombi la mwisho lililotumiwa (kila mara huwa 0 ikiwa mchakato hauko katika hali ya kutofanya kazi).

Ni hayo kwa sasa! Katika nakala hii, tumeelezea jinsi ya kuwezesha ukurasa wa hali ya php-fpm chini ya seva ya wavuti ya Nginx. Tumia fomu ya maoni iliyo hapa chini ili kushiriki mawazo yako nasi.