1 votes

Mise à jour de php5-fpm, ne peut plus utiliser de socket

Plus tôt dans la journée, j'ai mis à jour des paquets sur l'un de mes serveurs. L'un de ces paquets était une mise à jour de php5-fpm, qui semble avoir cassé ma capacité à utiliser unix:/var/run/php5-fpm.sock .

Avis de non-responsabilité : Je n'ai commencé à utiliser Linux que récemment ; je ne entièrement comprendre ce qui se passe ici.

J'ai examiné de nombreuses autres questions, mais je n'ai pas réussi à trouver de réponse à mon problème, à savoir que j'obtiens une erreur 502 Bad Gateway lorsque j'essaie d'utiliser l'application php5-fpm.sock au lieu de passer à 127.0.0.1:9000 .

Voici quelques détails qui semblent pertinents en fonction des autres questions :

  • Mon php5-fpm processus est en cours d'exécution.
  • Mon /etc/php5/fpm/pool.d/www.conf Le fichier a listen = /var/run/php5-fpm.sock
  • Mon bloc serveur a fastcgi_pass = unix:/var/run/php5-fpm.sock
  • php5-fpm.sock fait existent dans /var/run/ .

Lors de la mise à jour de php5-fpm, il m'a été demandé si je voulais écraser mon www.conf. J'ai vérifié la différence et le seul changement entre le fichier du mainteneur et le mien était que le mainteneur avait listen = 127.0.0.1:9000 comme valeur par défaut.

Après avoir choisi de l'écraser et terminé la mise à niveau de php5-fpm, j'ai ouvert /etc/php5/fpm/pool.d/www.conf et changé l'écoute de listen = /var/run/php5-fpm.sock comme si elle avait été fixée à l'avance. J'ai ensuite redémarré php5-fpm, puis nginx, dans cet ordre.

Je reçois maintenant un message 502 lorsque je visite le domaine et je suis complètement perdu. Si je change listen dans www.conf et fastcgi_pass dans mon fichier d'hôte pour 127.0.0.1:9000 tout fonctionne parfaitement. J'utilise Ubuntu 12.04LTS, si cela compte.

Votre aide est très appréciée.

1voto

bcj Points 71

Vous devriez regarder le propriétaire du fichier php5-fpm.sock en utilisant ls -l /var/run/php5-fpm.sock

Je pense que vous trouverez qu'il est réglé sur root et que votre serveur web fonctionne sous www-data. De plus, les permissions dans le www.conf sont 0660 ce qui signifie que seul root aura les permissions.

Vous pouvez décommenter les lignes relatives à l'utilisateur sock et le définir comme www-data et redémarrer le service php5-fpm.

0 votes

Vous aviez raison, merci pour votre perspicacité. J'ai décommenté listen.group , listen.user y listen.mode . C'est réparé, et je suis maintenant en mesure de passer fastcgi_pass a unix:/var/run/php5-fpm.sock . Quelle est la différence entre cet utilisateur/groupe et le user y group variables plus tôt dans www.conf ? Je pense que "l'utilisateur/groupe de processus Unix" (comme ils sont nommés) serait un choix logique pour php5-fpm afin de créer le socket.

0 votes

Según este l'utilisateur et le groupe unix sont les propriétaires des fichiers du site et non le propriétaire ou le fichier du processus. J'espère que cela vous aidera !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X