Comment activer et surveiller l'état PHP-FPM dans Nginx

Comment activer et surveiller l'état PHP-FPM dans Nginx

Php-fpm (FastCGI Process Manager) est une alternative Php fastcgi implémentation qui est livrée avec un certain nombre de fonctionnalités supplémentaires utiles pour les sites Web de toute taille, en particulier les sites qui reçoivent un trafic élevé.

Il est couramment utilisé dans le Lemp (Linux Nginx MySQL / MARIADB PHP) empiler; Nginx les usages Php fastcgi pour servir dynamique Http Contenu sur un réseau. Il est utilisé pour servir des millions de Php Demandes de centaines de sites Web sur des serveurs Web sur Internet.

Lire aussi: Comment activer la page d'état Nginx

L'une des caractéristiques utiles de php-fpm est la page de statut intégrée, qui peut vous aider à surveiller sa santé. Dans cet article, nous montrerons comment activer le Php-fpm Page d'état sur Linux.

Comment activer la page d'état PHP-FPM dans Linux

Ouvrez d'abord le php-fpm Fichier de configuration et activer la page d'état comme indiqué.

$ sudo vim / etc / php-fpm.d / www.confue ou $ sudo vim / etc / php / 7.2 / FPM / Pool.d / www.Conf # pour les versions PHP 5.6, 7.0, 7.1 

À l'intérieur de ce fichier, trouvez et décommentez la variable PM.status_path = / statut Comme indiqué dans la capture d'écran.

Activer la page d'état PHP-FPM

Enregistrer les modifications et quitter le fichier.

Ensuite, vérifiez que le Php-fpm Fichier de configuration pour toute erreur en exécutant la commande ci-dessous.

$ sudo php-fpm -t ou $ sudo php7.2-fpm -t 
Vérifier le fichier de configuration PHP-FPM

Puis redémarrez le Php-fpm Service pour appliquer les changements récents.

$ sudo systemctl redémarrer php-fpm ou $ sudo systemctl redémarrer php7.2-FPM 

Ensuite, modifiez votre défaut bloc de serveur (hôte virtuel) Fichier de configuration et ajouter le bloc d'emplacement Ci-dessous dedans. Par exemple, sur le système de test, le fichier de configuration du bloc de serveur par défaut est / etc / nginx / confre.d / par défaut.confli, pour le site test.laboratoire.

$ sudo vim / etc / nginx / confr.d / par défaut.confli 

Voici la bloc d'emplacement être ajouté. Dans cette configuration, nous n'avons autorisé l'accès qu'à Php-fpm État du processus dans le Host local en utilisant la directive Autoriser 127.0.0.1 pour des raisons de sécurité.

Emplacement ~ ^ / (Status | Ping) $ Autoriser 127.0.0.1; fastcgi_param script_filename $ document_root $ fastcgi_script_name; Index FastCGI_INDEX.PHP; Inclure FastCGI_PARAMS; #fastcgi_pass 127.0.0.1: 9000; fastcgi_pass Unix: / var / run / php7.2-FPM.chaussette;  

Enregistrez le fichier et fermez-le.

Puis redémarrez le Nginx serveur pour appliquer les modifications ci-dessus.

$ sudo systemctl redémarrer nginx 

Ouvrez maintenant un navigateur et tapez l'URL http: // test.laboratoire / statut Pour afficher votre statut de processus PHP-FPM.

Afficher la page d'état PHP-FPM

Alternativement, utilisez le programme Curl comme suit, où le -L Le drapeau spécifie l'emplacement de la page.

$ curl -l http: // test.laboratoire / statut 

Par défaut, la page d'état n'imprime qu'un résumé ou un statut court. Pour afficher l'état de chaque processus de pool, passez "complet" Dans la chaîne de requête, par exemple:

http: // www.foo.bar / statut?complet 

Vous pouvez définir le format de sortie (JSON, HTML ou XML) comme indiqué.

http: // www.foo.bar / statut?JSON et complet http: // www.foo.bar / statut?html & complet http: // www.foo.bar / statut?XML et plein 

Voici les valeurs renvoyées dans le php-fpm Statut complet, pour chaque processus:

  • piquer - Pid du processus.
  • État État du processus (inactif, course, etc.).
  • Heure de début - Date et heure du processus a commencé.
  • commencer depuis - Nombre de secondes depuis le début du processus.
  • demandes - Nombre de demandes que le processus a servi.
  • Demande la durée - durée en µs des demandes.
  • méthode de demande - Méthode de demande (obtenir, publier, etc.).
  • demander uri - Demandez URI avec la chaîne de requête.
  • durée du contenu - durée du contenu de la demande (uniquement avec la publication).
  • utilisateur - Utilisateur (php_auth_user) (ou '-' Si non défini).
  • scénario - script principal appelé (ou '-' sinon défini).
  • Dernière demande CPU - % CPU La dernière demande consommée (notez qu'elle est toujours 0 si le processus n'est pas à l'état inactif).
  • Dernière mémoire de demande - quantité maximale de mémoire la dernière demande consommée (c'est toujours 0 si le processus n'est pas à l'état inactif).

C'est tout pour le moment! Dans cet article, nous avons expliqué comment activer le php-fpm Page d'état sous Ninx Web Server. Utilisez le formulaire de rétroaction ci-dessous pour partager vos réflexions avec nous.