Sådan aktiveres og overvåges PHP-FPM-status i Nginx
PHP-FPM (FastCGI Process Manager) er en alternativ PHP FastCGI-implementering, der kommer med en række ekstra funktioner, der er nyttige til websteder af enhver størrelse, især websteder, der modtager høj trafik.
Det bruges almindeligvis i LEMP-stakken (Linux Nginx MySQL/MariaDB PHP); Nginx bruger PHP FastCGI til servering af dynamisk HTTP-indhold på et netværk. Det bruges til at betjene millioner af PHP-anmodninger om hundredvis af websteder på webservere på internettet.
En af de nyttige funktioner i php-fpm er den indbyggede statusside, som kan hjælpe dig med at overvåge dens helbred. I denne artikel viser vi, hvordan du aktiverer PHP-FPM-statussiden på Linux.
Sådan aktiveres PHP-FPM-statusside i Linux
Åbn først php-fpm-konfigurationsfilen, og aktiver statussiden som vist.
$ 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
Inde i denne fil skal du finde og fjerne kommentar til variablen pm.status_path =/status
som vist på skærmbilledet.
Gem ændringerne, og afslut filen.
Kontroller derefter, at PHP-FPM-konfigurationsfilen for eventuelle fejl ved at køre kommandoen nedenfor.
$ sudo php-fpm -t OR $ sudo php7.2-fpm -t
Genstart derefter PHP-FPM-tjenesten for at anvende de seneste ændringer.
$ sudo systemctl restart php-fpm OR $ sudo systemctl restart php7.2-fpm
Derefter skal du redigere din standardserverblok (virtuelle vært) konfigurationsfil og tilføje placeringsblokken nedenfor i den. For eksempel på testsystemet er standardserverblokens konfigurationsfil /etc/nginx/conf.d/default.conf til webstedet test.lab.
$ sudo vim /etc/nginx/conf.d/default.conf
Her er placeringsblokken, der skal tilføjes. I denne konfiguration har vi kun tilladt adgang til PHP-FPM-processtatus i localhost ved hjælp af direktivet tillad 127.0.0.1 af sikkerhedsmæssige årsager.
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; }
Gem filen, og luk den.
Genstart derefter Nginx-serveren for at anvende ovenstående ændringer.
$ sudo systemctl restart nginx
Åbn nu en browser, og skriv URL http: //test.lab/status
for at få vist din PHP-FPM-processtatus.
Alternativt kan du bruge krølleprogrammet som følger, hvor flag -L
angiver placeringen af siden.
$ curl -L http://test.lab/status
Som standard udskriver statussiden kun en oversigt eller en kort status. For at se status for hver poolproces skal du sende "fuld" i forespørgselsstrengen, for eksempel:
http://www.foo.bar/status?full
Du kan definere outputformatet (JSON, HTML eller XML) som vist.
http://www.foo.bar/status?json&full http://www.foo.bar/status?html&full http://www.foo.bar/status?xml&full
Nedenfor er værdierne returneret i php-fpm fuld status for hver proces:
- pid - PID for processen.
- statusprocesstatus (inaktiv, kører osv.).
- starttid - dato og tidspunkt, hvor processen er startet.
- start siden - antal sekunder siden processen er startet.
- anmodninger - antal anmodninger, processen har leveret.
- anmodningens varighed - varighed i µs af anmodningerne.
- anmodningsmetode - anmodningsmetode (GET, POST osv.).
- anmodning URI - anmod URI med forespørgselsstrengen.
- indholdslængde - anmodningens indholdslængde (kun med POST).
- bruger - bruger (PHP_AUTH_USER) (eller ‘-‘ hvis ikke angivet).
- script - hovedscript kaldet (eller ‘-‘ hvis ikke indstillet).
- cpu sidste anmodning -% cpu den sidste forbrugte anmodning (bemærk, at den altid er 0, hvis processen ikke er i inaktiv tilstand).
- hukommelse for sidste anmodning - maks. hukommelsesmængde den sidste forbrugte anmodning (det er altid 0, hvis processen ikke er i inaktiv tilstand).
Det er det for nu! I denne artikel har vi forklaret, hvordan du aktiverer php-fpm-statussiden under Nginx-webserveren. Brug feedbackformularen nedenfor til at dele dine tanker med os.