Giunsa Pag-enable ug Pag-monitor ang Status sa PHP-FPM sa Nginx


Ang PHP-FPM (FastCGI Process Manager) usa ka alternatibo nga pagpatuman sa PHP FastCGI nga adunay daghang dugang nga mga bahin nga mapuslanon alang sa mga website sa bisan unsang gidak-on, labi na ang mga site nga nakadawat taas nga trapiko.

Kini kasagarang gigamit sa LEMP (Linux Nginx MySQL/MariaDB PHP) stack; Gigamit sa Nginx ang PHP FastCGI alang sa pagserbisyo sa dinamikong sulud sa HTTP sa usa ka network. Gigamit kini sa pag-alagad sa minilyon nga mga hangyo sa PHP alang sa gatusan ka mga website sa mga web server sa internet.

Usa sa mga mapuslanon nga bahin sa php-fpm mao ang built-in nga status page, nga makatabang kanimo sa pagmonitor sa kahimsog niini. Niini nga artikulo, ipakita namo kung unsaon pagpagana ang PHP-FPM status page sa Linux.

Giunsa Pag-enable ang PHP-FPM Status Page sa Linux

Una ablihi ang php-fpm configuration file ug i-enable ang status page sama sa gipakita.

$ 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

Sulod niining payl, pangitaa ug uncomment ang variable pm.status_path = /status sama sa gipakita sa screenshot.

I-save ang mga pagbag-o ug paggawas sa file.

Sunod, susiha nga ang PHP-FPM configuration file alang sa bisan unsang mga sayop pinaagi sa pagpadagan sa sugo sa ubos.

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

Dayon i-restart ang PHP-FPM nga serbisyo aron magamit ang bag-ong mga pagbag-o.

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

Sunod, usba ang imong default server block (virtual host) configuration file ug idugang ang location block sa ubos niini. Pananglitan sa sistema sa pagsulay, ang config file sa default block sa server mao ang /etc/nginx/conf.d/default.conf, para sa site test.lab.

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

Ania ang block sa lokasyon nga idugang. Niini nga config, gitugotan lang namo ang pag-access sa status sa proseso sa PHP-FPM sulod sa localhost gamit ang direktiba nga tugotan ang 127.0.0.1 alang sa mga hinungdan sa seguridad.

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

I-save ang file ug isira kini.

Dayon i-restart ang Nginx server aron magamit ang mga pagbag-o sa ibabaw.

$ sudo systemctl restart nginx

Karon ablihi ang browser ug i-type ang URL http://test.lab/status aron makita ang imong status sa proseso sa PHP-FPM.

Sa laing paagi, gamita ang curl program sama sa mosunod, diin ang -L nga bandila nagtino sa nahimutangan sa panid.

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

Sa kasagaran, ang panid sa status nag-imprinta lamang og usa ka summary o mubo nga status. Aron matan-aw ang status sa matag proseso sa pool, ipasa ang \puno sa string sa pangutana, pananglitan:

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

Mahimo nimong ipasabut ang format sa output (JSON, HTML o XML) ingon sa gipakita.

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

Sa ubos mao ang mga kantidad nga gibalik sa php-fpm nga tibuuk nga kahimtang, alang sa matag proseso:

  • pid – PID sa proseso.
  • ibutang ang kahimtang sa proseso (idle, running, etc.).
  • oras sa pagsugod – petsa ug oras nga nagsugod ang proseso.
  • pagsugod sukad – gidaghanon sa mga segundo sukad nagsugod ang proseso.
  • mga hangyo – gidaghanon sa mga hangyo nga naserbisyuhan sa proseso.
  • gidugayon sa hangyo – gidugayon sa µs sa mga hangyo.
  • paagi sa paghangyo – paagi sa paghangyo (GET, POST, ug uban pa).
  • request URI – request URI gamit ang query string.
  • gitas-on sa sulod – gitas-on sa sulod sa hangyo (uban lang sa POST).
  • user – user (PHP_AUTH_USER) (o ‘-‘ kon dili itakda).
  • script – nag-unang script nga gitawag (o ‘-‘ kon dili set).
  • katapusang hangyo cpu – %cpu ang kataposang hangyo nga gigamit (timan-i nga kini kanunay 0 kung ang proseso wala sa Idle nga estado).
  • kataposang hangyo nga panumduman – kinatas-ang gidaghanon sa panumduman ang kataposang hangyo nga gigamit (kini kanunay 0 kon ang proseso wala sa Idle nga kahimtang).

Mao na sa pagkakaron! Niini nga artikulo, among gipatin-aw kung giunsa ang paghimo sa php-fpm status page ubos sa Nginx web server. Gamita ang porma sa feedback sa ubos aron ipaambit kanamo ang imong mga hunahuna.