Erreurs NGINX et comment les corriger
Résoudre les erreurs NGINX courantes : 502, 504, 413.
Lors de l'utilisation de NGINX pour héberger un site web, il arrive que des erreurs perturbent son bon fonctionnement. Ce guide couvre les plus fréquentes — 502 Bad Gateway, 504 Gateway Time-out et 413 Request Entity Too Large — et explique étape par étape comment les résoudre sur un VPS ou un serveur dédié.
502 Bad Gateway
Ce que cela signifie : NGINX ne parvient pas à obtenir de réponse du backend (PHP-FPM, Apache, Node.js, uWSGI, etc.).
Causes les plus fréquentes :
- Le service backend est arrêté ou a planté
- Chemin de socket ou port incorrect dans la configuration
- Permissions incorrectes sur le socket
- Mémoire ou processus worker insuffisants dans PHP-FPM
Comment résoudre :
- Vérifier le statut de PHP-FPM (ou de votre backend) :
sudo systemctl status php-fpm
# ou pour une version spécifique
sudo systemctl status php8.1-fpm
- Redémarrer le service :
sudo systemctl restart php-fpm
# ou php8.1-fpm
-
Vérifier le chemin du socket dans les configurations NGINX et PHP-FPM :
- NGINX :
fastcgi_pass unix:/run/php/php8.1-fpm.sock; - PHP-FPM (/etc/php/8.1/fpm/pool.d/www.conf) :
listen = /run/php/php8.1-fpm.sock
- NGINX :
-
Corriger les permissions si nécessaire :
sudo chown www-data:www-data /run/php/php8.1-fpm.sock
sudo chmod 660 /run/php/php8.1-fpm.sock
- Tester et recharger NGINX :
sudo nginx -t && sudo systemctl reload nginx
504 Gateway Time-out
Ce que cela signifie : NGINX a attendu trop longtemps une réponse du backend et a expiré.
Causes les plus fréquentes :
- Exécution lente d'un script PHP
- Requêtes base de données lentes
- Charge serveur élevée
Comment résoudre :
- Augmenter les timeouts dans la configuration du site (dans le bloc
serveroulocation) :
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
fastcgi_read_timeout 300s; # pour PHP
- Optimiser PHP-FPM (dans
/etc/php/8.1/fpm/pool.d/www.conf) :
pm.max_children = 50 # augmenter selon les besoins
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
request_terminate_timeout = 300
- Redémarrer les services :
sudo systemctl restart php-fpm
sudo systemctl reload nginx
- Si le problème concerne un script précis — optimisez les requêtes SQL ou ajoutez du cache pour les pages lourdes.
Nos produits et services
413 Request Entity Too Large
Ce que cela signifie : Le client tente d'envoyer un fichier dont la taille dépasse la limite autorisée par NGINX (1 Mo par défaut).
Causes fréquentes : envoi de fichiers volumineux (photos, vidéos, sauvegardes, archives).
Comment résoudre :
- Augmenter la limite dans la configuration du site (ou dans
/etc/nginx/nginx.conf, blochttp) :
client_max_body_size 64M; # ou 128M, 512M, 1G, etc.
- Recharger NGINX :
sudo nginx -t && sudo systemctl reload nginx
- Augmenter également les limites PHP dans le php.ini (
/etc/php/8.1/fpm/php.ini) :
upload_max_filesize = 64M
post_max_size = 64M
Redémarrer PHP-FPM :
sudo systemctl restart php-fpm
Comment recharger NGINX correctement
- Toujours vérifier la configuration en premier :
sudo nginx -t
- Rechargement sans interruption de service :
sudo systemctl reload nginx
ou
sudo nginx -s reload
- Redémarrage complet (uniquement si le rechargement ne suffit pas) :
sudo systemctl restart nginx
Remarques utiles
- Sauvegardez toujours les configurations avant toute modification :
sudo cp /etc/nginx/nginx.conf/etc/nginx/nginx.conf.bak - Après chaque modification, vérifiez les logs :
/var/log/nginx/error.loget/var/log/nginx/access.log
Aide
Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !