Vous avez installé une application PHP sur votre serveur web et vous avez l’erreur 502 ? Pas de panique !
Il peut arriver d’avoir l’erreur 502 après avoir mis à jour son serveur ou après avoir installé son outil PHP.
Pour comprendre ce qu’il se passe, il faut aller lire les logs
sudo cat /var/log/nginx/error.log
Il doit y avoir une ligne qui ressemble à celle-ci
2023/03/12 11:50:27 [crit] 75709#75709: *1 connect() to unix:/var/run/php/php7.2-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: siana.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "xxxx.xx"
(NB j’ai utilisé un exemple pour mon article, la version 7 de PHP n’est plus supportée depuis un moment)
Nginx ne trouve pas le fichier php fpm FAST CGI, nécessaire au bon fonctionnement des applications PHP.
Regardons de plus près ce qu’il y a dans /var/run/php
ls /var/run/php
. .. php8.1-fpm.pid php8.1-fpm.sock php8.2-fpm.pid php8.2-fpm.sock php-fpm.sock
On constate qu’il y a un fichier php8.1-fpm.sock (et même php8.2-fpm.sock). Le fichier php7.2-fpm.sock n’existe plus.
Il faut donc modifier la configuration de Nginx en indiquant le nouveau nom du fichier FastCGI.
sudo nano /etc/nginx/sites-available/xxxxxx.xxx
Recherchez cette ligne
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
Remplacez php7.2-fpm.sock par php8.2-fpm.sock puis enregistrez.
Relancez le service Nginx sur le serveur
sudo service nginx restart
Et voilà 🙂
L'ajout de commentaire a été désactivé.