Zoeken op website

Hoe u de PHP-FPM-status in Nginx kunt inschakelen en controleren


PHP-FPM (FastCGI Process Manager) is een alternatieve PHP FastCGI-implementatie die wordt geleverd met een aantal extra functies die handig zijn voor websites van elke grootte, vooral sites die veel verkeer ontvangen.

Het wordt vaak gebruikt in de LEMP (Linux Nginx MySQL/MariaDB PHP) stapel; Nginx gebruikt PHP FastCGI voor het aanbieden van dynamische HTTP inhoud op een netwerk. Het wordt gebruikt om miljoenen PHP-verzoeken voor honderden websites op webservers op internet te verwerken.

Lees ook: Hoe u de NGINX-statuspagina inschakelt

Een van de handige functies van php-fpm is de ingebouwde statuspagina, die u kan helpen de status ervan te controleren. In dit artikel laten we zien hoe u de PHP-FPM statuspagina op Linux kunt inschakelen.

Hoe PHP-FPM-statuspagina in Linux in te schakelen

Open eerst het php-fpm configuratiebestand en activeer de statuspagina zoals weergegeven.

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

Zoek in dit bestand de variabele pm.status_path=/status en verwijder het commentaar, zoals weergegeven in de schermafbeelding.

Sla de wijzigingen op en sluit het bestand af.

Controleer vervolgens het PHP-FPM configuratiebestand op eventuele fouten door de onderstaande opdracht uit te voeren.

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

Start vervolgens de PHP-FPM-service opnieuw op om de recente wijzigingen toe te passen.

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

Bewerk vervolgens uw standaard serverblok (virtuele host) configuratiebestand en voeg het locatieblok hieronder toe. Op het testsysteem is het standaard configuratiebestand van het serverblok bijvoorbeeld /etc/nginx/conf.d/default.conf, voor de site test.lab.

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

Hier is het locatieblok dat moet worden toegevoegd. In deze configuratie hebben we om veiligheidsredenen alleen toegang tot de PHP-FPM processtatus binnen de localhost toegestaan met behulp van de richtlijn allow 127.0.0.1.

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

Sla het bestand op en sluit het.

Start vervolgens de Nginx-server opnieuw op om de bovenstaande wijzigingen toe te passen.

sudo systemctl restart nginx

Open nu een browser en typ de URL http://test.lab/status om de status van uw PHP-FPM-proces te bekijken.

Als alternatief kunt u het curl-programma als volgt gebruiken, waarbij de vlag -L de locatie van de pagina specificeert.

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

Standaard drukt de statuspagina alleen een samenvatting of korte status af. Om de status van elk poolproces te bekijken, geeft u “full” door in de queryreeks, bijvoorbeeld:

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

U kunt het uitvoerformaat (JSON, HTML of XML) definiëren zoals weergegeven.

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

Hieronder staan de waarden die worden geretourneerd in de volledige status van php-fpm, voor elk proces:

  • pid – PID van het proces.
  • state processtatus (inactief, actief, enz.).
  • starttijd – datum en tijd waarop het proces is gestart.
  • start sinds – aantal seconden sinds het proces is gestart.
  • verzoeken – aantal verzoeken dat door het proces is afgehandeld.
  • duur van het verzoek – duur in µs van de verzoeken.
  • verzoekmethode – verzoekmethode (GET, POST, etc.).
  • verzoek-URI – verzoek-URI met de queryreeks.
  • inhoudslengte – inhoudslengte van het verzoek (alleen bij POST).
  • gebruiker – gebruiker (PHP_AUTH_USER) (of ‘-‘ indien niet ingesteld).
  • script – hoofdscript genaamd (of ‘-‘ indien niet ingesteld).
  • laatste verzoek cpu – %cpu het laatste verbruikte verzoek (merk op dat dit altijd 0 is als het proces niet in de inactieve status staat).
  • laatste verzoekgeheugen – maximale hoeveelheid geheugen die door het laatste verzoek is verbruikt (dit is altijd 0 als het proces niet inactief is).

Dat is het voor nu! In dit artikel hebben we uitgelegd hoe u de php-fpm statuspagina onder de Nginx-webserver kunt inschakelen. Gebruik het onderstaande feedbackformulier om uw mening met ons te delen.