Bii o ṣe le Mu ṣiṣẹ ati ṣetọju Ipo PHP-FPM ni Nginx


PHP-FPM (Oluṣakoso ilana FastCGI) jẹ imisi yiyan PHP FastCGI ti o wa pẹlu nọmba awọn ẹya afikun ti o wulo fun awọn oju opo wẹẹbu ti iwọn eyikeyi, paapaa awọn aaye ti o gba ijabọ giga.

O ti lo ni igbagbogbo ni akopọ LEMP (Linux Nginx MySQL/MariaDB PHP); Nginx lo PHP FastCGI fun sisẹ akoonu HTTP agbara lori nẹtiwọọki kan. O ti lo lati ṣe iranṣẹ fun awọn miliọnu awọn ibeere PHP fun awọn ọgọọgọrun awọn oju opo wẹẹbu lori awọn olupin wẹẹbu lori intanẹẹti.

Ọkan ninu awọn ẹya ti o wulo ti php-fpm ni oju-iwe ipo ti a ṣe sinu, eyiti o le ṣe iranlọwọ fun ọ lati ṣetọju ilera rẹ. Ninu nkan yii, a yoo fihan bi a ṣe le mu oju-iwe ipo PHP-FPM ṣiṣẹ lori Linux.

Bii o ṣe le Jeki Oju-iwe Ipo PHP-FPM ni Linux

Akọkọ ṣii faili iṣeto php-fpm ki o mu oju-iwe ipo ṣiṣẹ bi o ti han.

$ 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

Ninu inu faili yii, wa ati airotẹlẹ iyipada pm.status_path =/ipo bi o ṣe han ninu sikirinifoto.

Fipamọ awọn ayipada ki o jade kuro ni faili naa.

Nigbamii, ṣayẹwo pe faili iṣeto PHP-FPM fun awọn aṣiṣe eyikeyi nipa ṣiṣe pipaṣẹ ni isalẹ.

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

Lẹhinna tun bẹrẹ iṣẹ PHP-FPM lati lo awọn ayipada to ṣẹṣẹ.

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

Itele, satunkọ bulọki olupin aiyipada rẹ (olupin foju) faili iṣeto ati ṣafikun ibi idena ipo isalẹ rẹ. Fun apeere lori eto idanwo, faili atunto olupin aṣiṣe aiyipada ni /etc/nginx/conf.d/default.conf, fun aaye test.lab.

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

Eyi ni Àkọsílẹ ipo lati fi kun. Ninu atunto yii, a ti gba laaye laaye nikan si ipo ilana PHP-FPM laarin localhost nipa lilo itọsọna gba 127.0.0.1 fun awọn idi aabo.

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

Fipamọ faili naa ki o pa.

Lẹhinna tun bẹrẹ olupin Nginx lati lo awọn ayipada ti o wa loke.

$ sudo systemctl restart nginx

Bayi ṣii ẹrọ aṣawakiri kan ki o tẹ URL naa http://test.lab/status lati wo ipo ilana PHP-FPM rẹ.

Ni omiiran, lo eto curl gẹgẹbi atẹle, nibiti Flag -L ṣe afihan ipo ti oju-iwe naa.

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

Nipa aiyipada, oju-iwe ipo nikan tẹ jade akopọ tabi ipo kukuru. Lati wo ipo fun ilana adagun kọọkan, kọja\"kikun" ninu okun ibeere, fun apẹẹrẹ:

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

O le ṣalaye ọna kika o wu (JSON, HTML tabi XML) bi o ti han.

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

Ni isalẹ ni awọn iye ti o pada ni ipo PHP-fpm ni kikun, fun ilana kọọkan:

  • pid - PID ti ilana.
  • ipo ilana ipo (alaiṣẹ, ṣiṣe, ati bẹbẹ lọ).
  • akoko ibẹrẹ - ọjọ ati akoko ti ilana naa ti bẹrẹ.
  • bẹrẹ lati igba - nọmba awọn aaya lati igba ti ilana naa ti bẹrẹ.
  • awọn ibeere - nọmba awọn ibeere ti ilana naa ti ṣiṣẹ.
  • iye akoko ibeere - iye ni µs ti awọn ibeere naa.
  • Ọna ibeere - ọna ibere (GET, POST, ati bẹbẹ lọ).
  • beere URI - beere URI pẹlu okun ibeere.
  • ipari akoonu - ipari akoonu ti ibeere (nikan pẹlu POST).
  • aṣàmúlò - aṣàmúlò (PHP_AUTH_USER) (tabi ‘-‘ ti ko ba ṣeto).
  • iwe afọwọkọ - afọwọkọ akọkọ ti a pe (tabi ‘-‘ ti ko ba ṣeto).
  • ibeere ti o kẹhin CPU -% cpu ibeere ti o kẹhin run (akiyesi pe o jẹ nigbagbogbo 0 ti ilana naa ko ba si ni ipo Aidalẹ).
  • iranti ibeere to kẹhin - iye ti o pọ julọ ti iranti ibeere ti o kẹhin run (o jẹ nigbagbogbo 0 ti ilana naa ko ba si ni ipo Ainidena).

Iyẹn ni fun bayi! Ninu nkan yii, a ti ṣalaye bi o ṣe le mu oju-iwe ipo php-fpm ṣiṣẹ labẹ olupin ayelujara Nginx. Lo fọọmu esi ni isalẹ lati pin awọn ero rẹ pẹlu wa.