Hvordan aktivere og overvåke PHP-FPM-status i Nginx
PHP-FPM (FastCGI Process Manager) er en alternativ PHP FastCGI-implementering som kommer med en rekke ekstra funksjoner som er nyttige for nettsteder av alle størrelser, spesielt nettsteder som mottar høy trafikk.
Det er ofte brukt i LEMP (Linux Nginx MySQL/MariaDB PHP)-stabelen; Nginx bruker PHP FastCGI for å levere dynamisk HTTP-innhold på et nettverk. Den brukes til å betjene millioner av PHP-forespørsler for hundrevis av nettsteder på nettservere på internett.
Les også: Slik aktiverer du NGINX-statusside
En av de nyttige funksjonene til php-fpm er den innebygde statussiden, som kan hjelpe deg med å overvåke helsen. I denne artikkelen vil vi vise hvordan du aktiverer PHP-FPM-statussiden på Linux.
Slik aktiverer du PHP-FPM-statusside i Linux
Åpne først php-fpm-konfigurasjonsfilen 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
Inne i denne filen, finn og fjern kommentaren til variabelen pm.status_path=/status
som vist på skjermbildet.
Lagre endringene og avslutt filen.
Deretter kontrollerer du at PHP-FPM-konfigurasjonsfilen for eventuelle feil ved å kjøre kommandoen nedenfor.
sudo php-fpm -t
OR
sudo php7.2-fpm -t
Start deretter PHP-FPM-tjenesten på nytt for å bruke de siste endringene.
sudo systemctl restart php-fpm
OR
sudo systemctl restart php7.2-fpm
Deretter redigerer du standardkonfigurasjonsfilen for serverblokk (virtuell vert) og legger til plasseringsblokken nedenfor i den. For eksempel på testsystemet er standard serverblokkens konfigurasjonsfil /etc/nginx/conf.d/default.conf, for nettstedet test.lab.
sudo vim /etc/nginx/conf.d/default.conf
Her er plasseringsblokken som skal legges til. I denne konfigurasjonen har vi bare tillatt tilgang til PHP-FPM-prosessstatus i den lokale verten ved å bruke direktivet allow 127.0.0.1 av sikkerhetsgrunner.
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;
}
Lagre filen og lukk den.
Start deretter Nginx-serveren på nytt for å bruke endringene ovenfor.
sudo systemctl restart nginx
Åpne nå en nettleser og skriv inn URL-en http://test.lab/status
for å se din PHP-FPM-prosessstatus.
Alternativt kan du bruke curl-programmet som følger, der -L
-flagget spesifiserer plasseringen av siden.
curl -L http://test.lab/status
Som standard skriver statussiden bare ut et sammendrag eller kort status. For å se status for hver gruppeprosess, send “full ” i søkestrengen, for eksempel:
http://www.foo.bar/status?full
Du kan definere utdataformatet (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 verdiene som returneres i php-fpm full status, for hver prosess:
- pid – PID for prosessen.
- tilstand prosessstatus (inaktiv, kjører osv.).
- starttid – dato og klokkeslett prosessen har startet.
- start siden – antall sekunder siden prosessen startet.
- forespørsler – antall forespørsler prosessen har levert.
- forespørselsvarighet – varighet i µs av forespørslene.
- forespørselsmetode – forespørselsmetode (GET, POST osv.).
- forespørsels-URI – be om URI med søkestrengen.
- innholdslengde – innholdslengden på forespørselen (bare med POST).
- bruker – bruker (PHP_AUTH_USER) (eller '-' hvis ikke angitt).
- skript – hovedskript kalt (eller '-' hvis ikke angitt).
- siste forespørsel cpu – %cpu den siste forespørselen som ble forbrukt (merk at den alltid er 0 hvis prosessen ikke er i inaktiv tilstand).
- minne for siste forespørsel – maksimal mengde minne den siste forespørselen forbrukte (det er alltid 0 hvis prosessen ikke er i inaktiv tilstand).
Det var det for nå! I denne artikkelen har vi forklart hvordan du aktiverer php-fpm-statussiden under Nginx-nettserveren. Bruk tilbakemeldingsskjemaet nedenfor for å dele tankene dine med oss.