Maison >Opération et maintenance >Nginx >Que dois-je faire si nginx ne peut pas accéder à php ?
Solution au problème selon lequel nginx ne peut pas accéder à php : 1. Utilisez un éditeur de texte pour ouvrir le fichier de configuration php-fpm.conf 2. Modifiez la configuration [listen = /tmp/php-cgi.sock] ; 3. Redémarrez nginx C'est tout.
Description du problème :
Un nouveau fichier index.php a été créé dans le répertoire racine de nginx, mais une erreur 502 était toujours signalée lorsque accéder au fichier php. Après des tests, il a été constaté qu'à l'exception des fichiers php, tout le reste est accessible directement.
(Tutoriel recommandé : Tutoriel nginx )
Solution :
Déterminez d'abord si php-fpm a été installé. S'il n'est pas installé, vous devez le faire. vous devez d'abord installer php-fpm.
Après avoir confirmé que php-fpm a été installé sur le serveur, vérifiez s'il a été démarré ou redémarrez-le directement
[root@localhost ~]# /usr/local/php/sbin/php-fpm start
Une fois le démarrage terminé, redémarrez nginx :
[root@localhost ~]# service nginx restart
Mais l'opération ci-dessus ne fonctionne pas. Résolvez les problèmes.
Recherchez le journal des erreurs nginx. Mon journal est dans : /var/log/nginx/error.log Ouvrez toutes les erreurs similaires :
2019/11/28 06:06:13 [error] 1640#0: *579 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.56.1, server: _, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.56.101"
Cela signifie probablement que 9000 ne peut pas être. connecté.
Vous devez maintenant vérifier s'il existe un port d'écoute 9000 :
[root@localhost ~]# netstat -ant | grep 9000 发现并没有监听(php-fpm已经启动)
Solution spécifique :
Ouvrir
vi /usr/local/php/etc/php-fpm.conf #不知道安装在哪里的话 可以 find / -name php-fpm.conf 搜索一下
Trouver écouter
Nous allons copier le Listen = /tmp/php-cgi.sock sous [www] et le coller dans le fichier de configuration nginx
Notez que dans le passé, j'écrivais fastcgi_pass sous la forme 127.0.0.1:9000. Nous devons maintenant le changer en unix:/tmp/php-cgi.sock.
Enfin, redémarrez nginx.
Recommandations associées : formation php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!