Comment trouver mon php-fpm.sock?

J’utilise WordPress avec: Nginx + PHP-FPM + APC + Cache total W3 + PageSpeed.

Après 3 jours de recherche et de configuration, j’ai réussi à le faire fonctionner. J’ai configuré PHP-FPM pour qu’il fonctionne via 127.0.0.1:9000. Mais maintenant je veux configurer via Socket.

Le problème est que je ne trouve pas le chemin de socket sur mon serveur. Je viens de trouver /var/run/php-fpm/php-fpm.pid , mais php-fpm.sock n’était pas là.

En whereis php-fpm exécution whereis php-fpm la sortie est:

 php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /etc/php-fpm.conf /usr/share/man/man8/php-fpm.8.gz 

Mais il n’y a pas de php-fpm.sock ici.

Comment puis-je trouver php-fpm.sock ?

Mes spécifications:

  • Amazon Micro EC2
  • Version Linux 3.4.48-45.46.amzn1.x86_64 Red Hat 4.6.3-2 (je pense que c’est basé sur CentOS 5)
  • PHP 5.3.26 (fpm-fcgi)

Je sais que ce sont de vieilles questions mais comme moi aussi j’ai le même problème tout à l’heure et que j’ai trouvé la réponse, j’ai pensé que je pourrais le partager. Le problème était dû à la configuration dans le répertoire pood.d /.

Ouvrir

 /etc/php5/fpm/pool.d/www.conf 

trouver

 listen = 127.0.0.1:9000 

changer à

 listen = /var/run/php5-fpm.sock 

Redémarrez ensuite le service nginx et php5-fpm et vérifiez si php5-fpm.sock est déjà créé.

Vérifiez le fichier de configuration, le chemin de configuration est /etc/php5/fpm/pool.d/www.conf , vous trouverez le chemin par config et si vous voulez, vous pouvez le changer.

EDIT :
listen = /var/run/php5-fpm/php5-fpm.sock bien, vous avez raison, vous devez remplacer listen = 127.0.0.1:9000 pour listen = /var/run/php5-fpm/php5-fpm.sock , alors vous devez exécuter sudo service php5-fpm restart , et assurez-vous il dit qu’il a redémarré correctement, sinon assurez-vous que /var/run/ a un dossier appelé php5-fpm , ou faites-le écouter /var/run/php5-fpm.sock parce que je ne pense pas que le dossier à l’intérieur /var/run est créé automatiquement, je me souviens que je devais modifier le script de démarrage pour créer ce dossier, sinon même si mkdir /var/run/php5-fpm après le redémarrage, ce dossier disparaîtra et le démarrage du service échouera.

J’ai rencontré ce même problème sur CentOS 7 ans plus tard

Affichage en espérant que cela pourrait aider les autres …

Pas:

D’abord , configurez les parameters php-fpm:

-> systemctl stop php-fpm.service

-> cd /etc/php-fpm.d

-> ls -hal (devrait voir un fichier http://www.conf)

-> cp www.conf www.conf.backup (retour du fichier juste au cas où)

-> vi www.conf

-> :/listen = (pour arriver à la ligne que nous devons changer)

-> i (pour entrer le mode d’insertion de texte du VI)

-> change d’ listen = 127.0.0.1:9000 POUR listen = /var/run/php-fpm/php-fpm.sock

-> Esc alors :/listen.owner (pour le trouver) puis i (pour changer)

-> UNCOMMENT le listen.owner = nobody et listen.group = nobody lignes de listen.group = nobody

-> Hit Esc puis tapez :/user = alors i

-> change user = apache TO user = nginx

-> AND change group = apache TO group = nginx

-> Appuyez ensuite sur Esc :wq (pour enregistrer et quitter)

-> systemctl start php-fpm.service (maintenant vous aurez un fichier php-fpm.sock)

Deuxièmement , vous configurez votre server {} dans votre fichier /etc/nginx/nginx.conf . Puis lancez: systemctl restart nginx.service

Enfin , créez un nouveau fichier .php dans votre répertoire / usr / share / nginx / html pour que votre serveur Nginx puisse servir de test via le navigateur Internet.

-> vi /usr/share/nginx/html/mytest.php

-> type o

-> (La page PHP imprimera la date et le jour dans le navigateur)

-> Hit Esc

-> tapez :wq (pour sauvegarder et tout à fait l’éditeur de VI)

-> ouvrez un navigateur et allez à: http://yourDomainOrIPAddress/mytest.php (vous devriez voir la date et le jour imprimés)

Résolu dans mon cas, je regarde

 sudo tail -f /var/log/nginx/error.log 

et l’erreur est php5-fpm.sock pas trouvé

Je regarde sudo ls -lah /var/run/

il n’y avait pas php5-fpm.sock

Je modifie le http://www.conf

 sudo vim /etc/php5/fpm/pool.d/www.conf 

changement

 listen = 127.0.0.1:9000 

pour

 listen = /var/run/php5-fpm.sock 

et redémarrer

Lorsque vous recherchez votre php-fpm.conf

 example location: cat /usr/src/php/sapi/fpm/php-fpm.conf 

vous verrez que vous devez configurer le gestionnaire de processus PHP FastCGI pour utiliser réellement les sockets Unix. Par défaut, la directive listen` est configurée pour écouter sur un socket TCP sur un port. S’il n’y a pas de socket Unix défini, vous ne trouverez pas de fichier de socket Unix.

 ; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all IPv4 addresses on a ; specific port; ; '[::]:port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = 127.0.0.1:9000 

Je rencontre ce problème lorsque je lance LEMP pour la première fois sur centos7.

Je redémarre nginx pour tester la page phpinfo, mais obtenez ceci

http://xxx.xxx.xxx.xxx/info.php n’est pas inaccessible maintenant.

Ensuite, j’utilise tail -f /var/log/nginx/error.log pour voir plus d’informations. Je trouve que le fichier php-fpm.sock n’existe pas. Ensuite, je redémarre le système, tout va bien.

Ici, il n’est peut-être pas nécessaire de redémarrer le système comme le poste de Fath, il suffit de recharger nginx et php-fpm.

redémarrer php-fpm

recharger nginx config