Erreur 502 Nginx : ProblĂšme Backend

Diagnostiquer la communication entre Nginx et PHP-FPM.

L'erreur 502 Bad Gateway avec Nginx signifie que le reverse proxy n'arrive pas à obtenir une réponse valide du backend, généralement PHP-FPM. C'est un problÚme de communication entre les deux services.

Les causes sont variées : PHP-FPM crash, timeout, socket mal configuré, ou ressources épuisées. Ce guide vous aide à identifier la source exacte du problÚme.

Causes Principales

  • PHP-FPM down : Le service PHP-FPM est arrĂȘtĂ© ou a crash. Aucun worker disponible pour traiter les requĂȘtes.
  • Socket inexistant : Nginx essaie de se connecter Ă  un socket Unix qui n'existe pas ou a les mauvaises permissions.
  • Timeout upstream : PHP-FPM met trop de temps Ă  rĂ©pondre et Nginx abandonne.
  • Workers Ă©puisĂ©s : Tous les workers PHP-FPM sont occupĂ©s, les nouvelles requĂȘtes sont rejetĂ©es.

Diagnostic

  • Statut PHP-FPM : VĂ©rifiez que PHP-FPM est actif : systemctl status php-fpm.
  • Logs Nginx : Consultez /var/log/nginx/error.log pour le message exact (upstream, timeout, connection refused).
  • Socket/Port : VĂ©rifiez que le socket ou port configurĂ© dans Nginx correspond Ă  PHP-FPM.

Solutions

  • RedĂ©marrer PHP-FPM : systemctl restart php-fpm pour relancer le service.
  • Augmenter les workers : Ajustez pm.max_children dans la config PHP-FPM selon la mĂ©moire disponible.
  • Augmenter les timeouts : Configurez fastcgi_read_timeout dans Nginx si les scripts lĂ©gitimes sont lents.

Questions Fréquentes

Comment voir si PHP-FPM est surchargé ?

Activez pm.status_path dans PHP-FPM pour voir les workers actifs/idle. Si tout est "active", vous manquez de workers.

Socket ou TCP, lequel est mieux ?

Socket Unix est plus rapide sur le mĂȘme serveur. TCP est nĂ©cessaire si PHP-FPM est sur un serveur diffĂ©rent.

Pourquoi PHP-FPM crash silencieusement ?

Souvent à cause d'un dépassement mémoire. Vérifiez memory_limit PHP et la mémoire systÚme. Consultez les logs PHP-FPM.

MoniTao détecte-t-il les erreurs 502 ?

Oui, MoniTao surveille le code HTTP et vous alerte immédiatement sur les erreurs 5xx incluant 502.

PrĂȘt Ă  dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.