web-dev-qa-db-fra.com

Comment trouver mon php-fpm.sock?

J'utilise Wordpress avec: Nginx + PHP-FPM + APC + W3 Total Cache + 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 s'exécute via 127.0.0.1:9000. Mais maintenant, je veux configurer via Socket. 

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

En exécutant whereis php-fpm, le résultat 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 specs:

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

Je sais que c’est de vieilles questions, mais comme j’ai moi aussi le même problème et que j’ai trouvé la réponse, j’ai pensé pouvoir la partager. Le problème était dû à la configuration du 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 les services nginx et php5-fpm ultérieurement et vérifiez si php5-fpm.sock a déjà été créé.

37
Fath

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

MODIFIER:
eh bien vous avez raison, vous devez remplacer listen = 127.0.0.1:9000 par listen = /var/run/php5-fpm/php5-fpm.sock, puis exécuter Sudo service php5-fpm restart et vous assurer qu’il indique qu’il a redémarré correctement. Sinon, assurez-vous que /var/run/ a un dossier appelé php5-fpm ou indiquez-le. écouter /var/run/php5-fpm.sock parce que je ne pense pas que le dossier à l'intérieur de /var/run est créé automatiquement, je me souviens que j'ai dû modifier le script de démarrage pour créer ce dossier, sinon, même si vous mkdir /var/run/php5-fpm après le redémarrage, ce dossier disparaît et le démarrage du service échouera.

9
Mohammad AbuShady

7 ans plus tard, j'ai fait face au même problème sur CentOS

Publier dans l'espoir que cela puisse aider les autres ...

Pas:

FIRST, configurez les paramètres de php-fpm:

-> systemctl stop php-fpm.service

-> cd /etc/php-fpm.d

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

-> cp www.conf www.conf.backup (sauvegarder le fichier au cas où)

-> vi www.conf

-> :/listen = (pour arriver à la ligne il faut changer)

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

-> changer de listen = 127.0.0.1:9000 À listen = /var/run/php-fpm/php-fpm.sock

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

-> SUPPRIMEZ les lignes listen.owner = nobody AND listen.group = nobody

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

-> changer user = Apache À user = nginx

-> ET changez group = Apache À group = nginx

-> Appuyez sur Esc puis :wq (pour sauvegarder et quitter)

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

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

FINALLY, créez un nouveau fichier .php dans votre répertoire/usr/share/nginx/html afin que votre serveur Nginx puisse le tester via le navigateur Internet.

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

-> type o

-> <?php echo date("Y/m/d-l"); ?> (la page PHP affichera la date et le jour dans le navigateur)

-> Hit Esc

-> tapez :wq (pour sauvegarder et tout éditeur de VI)

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

5
specialk1st

Résolu dans mon cas, je regarde

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

et erreur est php5-fpm.sock introuvable

Je regarde Sudo ls -lah /var/run/

il n'y avait pas php5-fpm.sock

J'édite le 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

2
Mdev

Quand vous regardez votre php-fpm.conf

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

vous verrez que vous devez configurer le PHP FastCGI Process Manager 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. Si aucun socket Unix n'est défini, vous ne trouverez pas de fichier 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
0
kaiser

Je rencontre ce problème lorsque je lance LEMP pour la première fois sur centos7 et renvoie à cette post

Je redémarre nginx pour tester la page phpinfo, mais je l'obtiens 

http://xxx.xxx.xxx.xxx/info.php n'est pas inaccessible pour le moment.

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 pas nécessaire de redémarrer le système en tant que post de Fath, il suffit de recharger nginx et php-fpm.

redémarrer php-fpm

reload nginx config

0
Kris Roofe