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:
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éé.
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.
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)
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
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
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.