Com habilitar i controlar l'estat PHP-FPM a Nginx
PHP-FPM (FastCGI Process Manager) és una implementació alternativa de PHP FastCGI que inclou una sèrie de funcions addicionals útils per a llocs web de qualsevol mida, especialment llocs que reben un gran trànsit.
S'utilitza habitualment a la pila LEMP (Linux Nginx MySQL/MariaDB PHP); Nginx utilitza PHP FastCGI per oferir contingut HTTP dinàmic a una xarxa. S'està utilitzant per atendre milions de sol·licituds PHP per a centenars de llocs web en servidors web d'Internet.
Una de les característiques útils de php-fpm és la pàgina d'estat integrada, que us pot ajudar a controlar la seva salut. En aquest article, mostrarem com habilitar la pàgina d'estat PHP-FPM a Linux.
Com habilitar la pàgina d'estat PHP-FPM a Linux
Primer obriu el fitxer de configuració php-fpm i activeu la pàgina d'estat tal com es mostra.
$ 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
Dins d'aquest fitxer, cerqueu i descomenteu la variable pm.status_path = /status
tal com es mostra a la captura de pantalla.
Deseu els canvis i sortiu del fitxer.
A continuació, comproveu que el fitxer de configuració PHP-FPM hi hagi errors executant l'ordre següent.
$ sudo php-fpm -t OR $ sudo php7.2-fpm -t
A continuació, reinicieu el servei PHP-FPM per aplicar els canvis recents.
$ sudo systemctl restart php-fpm OR $ sudo systemctl restart php7.2-fpm
A continuació, editeu el fitxer de configuració del vostre bloc de servidor predeterminat (amfitrió virtual) i afegiu-hi el bloc d'ubicació que hi ha a continuació. Per exemple, al sistema de prova, el fitxer de configuració del bloc de servidor predeterminat és /etc/nginx/conf.d/default.conf, per al lloc test.lab.
$ sudo vim /etc/nginx/conf.d/default.conf
Aquí teniu el bloc d'ubicacions que cal afegir. En aquesta configuració, només hem permès l'accés a l'estat del procés PHP-FPM dins del localhost mitjançant la directiva allow 127.0.0.1 per motius de seguretat.
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; }
Deseu el fitxer i tanqueu-lo.
A continuació, reinicieu el servidor Nginx per aplicar els canvis anteriors.
$ sudo systemctl restart nginx
Ara obriu un navegador i escriviu l'URL http://test.lab/status
per veure l'estat del vostre procés PHP-FPM.
Alternativament, utilitzeu el programa curl de la següent manera, on el senyalador -L
especifica la ubicació de la pàgina.
$ curl -L http://test.lab/status
Per defecte, la pàgina d'estat només imprimeix un resum o un estat breu. Per veure l'estat de cada procés d'agrupació, passeu \complet a la cadena de consulta, per exemple:
http://www.foo.bar/status?full
Podeu definir el format de sortida (JSON, HTML o XML) tal com es mostra.
http://www.foo.bar/status?json&full http://www.foo.bar/status?html&full http://www.foo.bar/status?xml&full
A continuació es mostren els valors retornats a l'estat complet de php-fpm, per a cada procés:
- pid: PID del procés.
- estat del procés (inactiu, en execució, etc.).
- hora d'inici: data i hora en què s'ha iniciat el procés.
- iniciar des de: nombre de segons des que s'ha iniciat el procés.
- sol·licituds: nombre de sol·licituds ateses pel procés.
- durada de la sol·licitud: durada en µs de les sol·licituds.
- Mètode de sol·licitud: mètode de sol·licitud (GET, POST, etc.).
- Sol·licita URI: sol·licita l'URI amb la cadena de consulta.
- longitud del contingut: durada del contingut de la sol·licitud (només amb POST).
- usuari: usuari (PHP_AUTH_USER) (o - si no està definit).
- script: script principal anomenat (o '-' si no s'estableix).
- última sol·licitud de CPU: %cpu l'última sol·licitud consumida (tingueu en compte que sempre és 0 si el procés no està en estat d'inactivitat).
- Memòria de l'última sol·licitud: quantitat màxima de memòria que s'ha consumit l'última sol·licitud (sempre és 0 si el procés no està en estat inactiu).
Això és tot de moment! En aquest article, hem explicat com habilitar la pàgina d'estat php-fpm al servidor web Nginx. Utilitzeu el formulari de comentaris a continuació per compartir els vostres pensaments amb nosaltres.