Différentes façons de redémarrer PHP-FPM
PHP-FPM (PHP FastCGI Process Manager) est un gestionnaire de processus puissant et largement utilisé pour PHP, souvent apprécié pour sa vitesse et sa capacité à gérer des sites web à fort trafic. Savoir comment redémarrer PHP-FPM est crucial pour les développeurs et les administrateurs système, en particulier lorsqu’il s’agit d’appliquer des changements à la configuration de PHP, de résoudre des problèmes ou d’effectuer une maintenance de routine. Dans cet article, nous allons explorer plusieurs méthodes pour redémarrer PHP-FPM sur différents systèmes et dans différents environnements.
Pourquoi redémarrer PHP-FPM ?
Avant de plonger dans les méthodes, discutons brièvement des raisons pour lesquelles redémarrer PHP-FPM peut être nécessaire :
- Changements de configuration : Si vous modifiez les paramètres de PHP dans les fichiers php.ini ou php-fpm.conf, un redémarrage est nécessaire pour que les changements soient pris en compte.
- Optimisation des performances : Le redémarrage de PHP-FPM peut aider à libérer de la mémoire et des ressources, en particulier sur les sites à fort trafic.
- Résolution des erreurs : Si PHP-FPM rencontre des problèmes ou ne répond plus, un redémarrage peut aider à résoudre les problèmes temporaires.
- Rotation des journaux : Après la rotation des fichiers journaux de PHP-FPM, un redémarrage peut être nécessaire pour s’assurer que les nouveaux journaux sont écrits correctement.
Conditions préalables
Assurez-vous d’avoir l’accès root ou les privilèges nécessaires pour redémarrer les services sur votre serveur. Selon votre distribution Linux, vous pouvez utiliser différentes commandes telles que systemctl ou service.
Méthode 1 : Utilisation de systemctl
Sur les distributions Linux modernes telles que Ubuntu 16.04 et CentOS 7, systemctl est la méthode standard pour gérer les services, y compris PHP-FPM. Voici comment redémarrer PHP-FPM en utilisant systemctl :
Redémarrer PHP-FPM
Cette commande redémarre le service PHP-FPM, en appliquant les changements de configuration.
Arrêter et démarrer PHP-FPM
Si vous voulez plus de contrôle, vous pouvez arrêter et démarrer PHP-FPM manuellement :
sudo systemctl start php-fpm
Cela peut être utile si vous devez vous assurer que le service est complètement arrêté avant de le redémarrer.
Vérifier l’état
Pour s’assurer que PHP-FPM a redémarré avec succès, utilisez :
Ceci affichera le statut du service PHP-FPM, y compris s’il est actif et les messages de log récents.
Méthode 2 : Utiliser la commande service
La commande service est couramment utilisée sur les anciennes distributions Linux ou pour la compatibilité ascendante. Voici comment redémarrer PHP-FPM en utilisant la commande service :
Ou, pour arrêter et démarrer le service séparément :
sudo service php-fpm start
Méthode 3 : Redémarrer des versions spécifiques de PHP-FPM
Si plusieurs versions de PHP sont installées, vous devez spécifier la version de PHP-FPM que vous souhaitez redémarrer. Par exemple, si PHP 7.4 est installé, utilisez la commande suivante :
Ou avec le service :
Cette méthode est particulièrement utile dans les environnements où différentes versions de PHP sont nécessaires pour différentes applications ou sites web.
Méthode 4 : Envoyer des signaux directement à PHP-FPM
Vous pouvez envoyer directement des signaux à PHP-FPM pour recharger les configurations sans redémarrer complètement le service. Il s’agit d’une approche plus subtile qui peut être moins perturbante pour votre trafic web :
Recharger la configuration
Pour recharger la configuration de PHP-FPM sans terminer les processus existants, utilisez :
Remplacez /run/php/php-fpm.pid par le chemin de votre fichier PID s’il est différent. Cette méthode est utile lorsque vous souhaitez recharger les changements de configuration sans redémarrer tous les processus PHP-FPM.
Redémarrage en douceur
Un redémarrage gracieux permet à PHP-FPM de finir de servir les requêtes en cours avant de redémarrer :
Ceci est particulièrement utile dans les environnements de production où vous voulez éviter d’interrompre les sessions des utilisateurs actifs.
Méthode 5 : Utiliser pkill ou killall
Si vous rencontrez des problèmes avec PHP-FPM et que vous avez besoin d’arrêter tous les processus, vous pouvez utiliser pkill ou killall. Cette méthode est plus agressive et doit être utilisée avec précaution :
Ou bien :
Après avoir tué les processus, vous devez démarrer PHP-FPM manuellement :
Méthode 6 : Redémarrage de Nginx ou d’Apache
Dans certains cas, redémarrer votre serveur web peut indirectement redémarrer PHP-FPM s’il est étroitement lié au processus du serveur web. Voici comment faire :
Nginx
Apache
Bien que cette méthode ne soit pas recommandée pour les problèmes spécifiques à PHP-FPM, elle peut être utile si vous effectuez une maintenance sur l’ensemble de votre stack web.
Meilleures pratiques pour redémarrer PHP-FPM
- Vérifier les logs : Avant de redémarrer, vérifiez les journaux de PHP-FPM pour toute erreur ou avertissement. Cela peut aider à identifier des problèmes sous-jacents qui peuvent être résolus sans redémarrage.
- Redémarrage en douceur dans un environnement de production : Préférez toujours un redémarrage en douceur dans un environnement de production afin d’éviter de perturber les utilisateurs.
- Surveillez l’utilisation des ressources : Utilisez des outils comme top, htop, ou ps pour surveiller les processus PHP-FPM avant et après un redémarrage pour s’assurer qu’il fonctionne comme prévu.
Conclusion
Redémarrer PHP-FPM est une tâche commune que tout administrateur ou développeur de serveur doit connaître. Que vous utilisiez systemctl, service, envoyez des signaux, ou que vous fassiez un redémarrage gracieux, connaître la bonne méthode pour votre situation peut assurer des performances fluides et une interruption minimale de vos services. En suivant les meilleures pratiques, vous pouvez garder votre PHP-FPM efficace et gérer les problèmes qui peuvent survenir en toute confiance.