Caricamento...
Attendere, prego.

Menu

+39 045 5116665

[email protected]

Come abilitare la pagina di stato di PHP-FPM con NGINX

HomeNotizieCome abilitare la pagina di stato di PHP-FPM con NGINX
HomeNotizieCome abilitare la pagina di stato di PHP-FPM con NGINX
Come abilitare la pagina di stato di PHP-FPM con NGINX

Come abilitare la pagina di stato di PHP-FPM con NGINX

PHP-FPM dispone nativamente di una utilissima pagina di stato.

Tale pagina è accessibile via WEB (localmente o remotamente) e ofre anche la possibilità di monitorare lo stato di PHP-FPM remotamente tramite scripts.

Le informazioni sono aggiornate in tempo reale quando viene effettuate la richiesta HTTP.

Come abilitare la pagina di stato PHP-FPM

Il primo passo è di editare il file di configurazione. Per esempio su Centos, lo troviamo in questo percorso /etc/php-fpm.d/www.conf

Editiamo perciò il file utilizzando l'editor vi

vi /etc/php-fpm.d/www.conf

Dovete trovare una linea che setta la variabile pm.status_path (togliete il commento se la linea dovesse essere commentata)

Nel nostro caso abbiamo pm.status_path = /fpm-status

Il valore di default è /status, si può cambiare a piacere. Nel caso stiate facendo funzionare un pool PHP-FPM, conviene dare un prefisso legato al particolare pool che state configurando.

Passiamo ora ad editare il file di configurazione principale di Nginx.

Dobbiamo aggiungere una sezione "location" come la seguente (o simile, dipende dalla vostra configurazione)

location ~ ^/(status|ping)$ {
     access_log off;
     allow 127.0.0.1;
     allow 1.2.3.4#your-ip;
     deny all;
     include fastcgi_params;
     fastcgi_pass 127.0.0.1:9000;
}

Non dimenticate di modificare a dovere il vostro indirizzo IP. In ogno caso è bene tenere la pagina di stato privata, contiene informazioni anche sensibili che non è bene rendere pubbliche.

Fate ripartire i servizi nginx e php-fpm per caricare le nuove impostazioni. Tenendo come rierimento Centos possiamo per esempio utilizzare i seguenti comandi

service php-fpm restart; service nginx restart

oppure

systemctl restart php-fpm; systemctl restart nginx

 

Come vedere la pagina di stato

prite tramite un browser (anche in modalità testo, utilizzando "links") la pagina http://127.0.0.1/fpm-status (in locale) o http://1.2.3.4/fpm-status (remoto, sostituendo il vostro IP pubblico corretto)

Potranno essere viste molte informazioni interessanti:

pool:                 www
process manager:      dynamic
start time:           17/May/2016:13:54:02 +0530
start since:          886617
accepted conn:        1619617
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       28
active processes:     2
total processes:      30
max active processes: 31
max children reached: 0
slow requests:        0

Il significato dei vari valori delle variabili:

    pool – il nome del pool
    process manager – i valori possibili sono static, dynamic o ondemand. Non utilizziamo static. Provate ad uilizzare ondemand, ma consigliamo dynamic
    start time – la data e l'ora dell'ultima partenza o riavvio
    start since – numero di secondi trascorsi dalla partenza
    accepted conn – il numero di richieste accettate dal pool
    listen queue – il numero di richieste in coda di attesa. Se questo numero non è zero, provate ad aumentare il numero di processi spawnati nel pool.
    max listen queue – il numero massimo di richieste in coda da quando il servizio sta funzionando
    listen queue len – la lunghezza della coda di attesa
    idle processes – il numero di processi a riposo
    active processes – il numero di processi attivi
    total processes – il numero totale di processi (attivi + a riposo)
    max active processes – il numero massimo di processi da quando il processo è partito
    max children reached – il numero di volte in cui si è raggiunto il numero massimo di processi possibili. Se il valore è diverso da zero, alzare tal limite massimo
    slow requests – il numero di richieste "lente". Attivare il log richieste "slow" prima di considerare questo valore. Di solito i processi che fanno query SQL tendono ad essere più lenti.

Si possono anche vedere delle informazioni più dettagliate, utilizzando un URL con un paramento finale, ad esempio http://127.0.0.1/status?full

Possiamo anche anche vederlo in formati diversi, json, xml, html

http://127.0.0.1/status?json , http://127.0.0.1/status?xml , http://127.0.0.1/status?html

e naturalmente combinando le due http://127.0.0.1/status?json&full

Stonebit - sviluppo software - consulenze informatiche - assistenza sistemistica Linux

linux nginx PHP phpfpm


06 02, 17
Essential SSL