it-swarm.com.de

Wie finde ich meine php-fpm.sock?

Ich betreibe Wordpress mit: Nginx + PHP-FPM + APC + W3 Total Cache + PageSpeed.

Nach 3 Tagen Recherche und Konfiguration ist es mir gelungen, es zum Laufen zu bringen. Nun möchte ich aber per Socket konfigurieren. 

Das Problem ist, dass ich den Socket-Pfad in meinem Server nicht finden kann. Ich habe gerade /var/run/php-fpm/php-fpm.pid gefunden, aber php-fpm.sock war nicht dabei.

whereis php-fpm läuft die Ausgabe ist:

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

Es gibt aber keinen php-fpm.sock dort.

Wie finde ich php-fpm.sock?

Meine Angaben:

  • Amazon Micro EC2
  • Linux-Version 3.4.48-45.46.amzn1.x86_64 Red Hat 4.6.3-2 (Ich denke, es basiert auf CentOS 5)
  • PHP 5.3.26 (fpm-fcgi)
23
Márcio

Ich weiß, das sind alte Fragen, aber da ich auch jetzt das gleiche Problem habe und die Antwort herausgefunden habe, dachte ich, ich könnte es teilen. Das Problem war auf die Konfiguration im Verzeichnis pood.d/zurückzuführen.

Öffnen

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

finden

listen = 127.0.0.1:9000

ändern

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

Starten Sie anschließend den Dienst nginx und php5-fpm erneut und prüfen Sie, ob php5-fpm.sock bereits erstellt wurde.

37
Fath

Überprüfen Sie die Konfigurationsdatei. Der Konfigurationspfad lautet /etc/php5/fpm/pool.d/www.conf. Dort finden Sie den Pfad über die Konfigurationsdatei. Wenn Sie möchten, können Sie ihn ändern.

EDIT:
Wenn Sie richtig sind, müssen Sie listen = 127.0.0.1:9000 durch listen = /var/run/php5-fpm/php5-fpm.sock ersetzen. Dann müssen Sie Sudo service php5-fpm restart ausführen und sicherstellen, dass der Neustart korrekt ist. Wenn dies nicht der Fall ist, stellen Sie sicher, dass /var/run/ über einen Ordner namens php5-fpm verfügt oder erstellt wird Hören Sie sich /var/run/php5-fpm.sock an, ich glaube nicht, dass der Ordner in /var/run automatisch erstellt wird. Ich erinnere mich, dass ich das Startskript bearbeiten musste, um diesen Ordner zu erstellen. Andernfalls verschwindet der Ordner, wenn Sie mkdir /var/run/php5-fpm nach dem Neustart des Ordners nicht starten.

9

Bei CentOS stand ich sieben Jahre später vor demselben Problem

Posting in der Hoffnung, dass es anderen helfen kann ...

Schritte:

FIRST, konfiguriere die php-fpm-einstellungen:

-> systemctl stop php-fpm.service

-> cd /etc/php-fpm.d

-> ls -hal (sollte eine www.conf-Datei sehen)

-> cp www.conf www.conf.backup (Sicherungskopie nur für den Fall)

-> vi www.conf

-> :/listen = (um zur Zeile zu gelangen, müssen wir ändern)

-> i (um den Texteinfügungsmodus des VIs zu aktivieren)

-> Wechsel von listen = 127.0.0.1:9000 zu listen = /var/run/php-fpm/php-fpm.sock

-> Esc dann :/listen.owner (um es zu finden) dann i (um sich zu ändern)

-> KOMMENTIEREN Sie die Zeilen listen.owner = nobody UND listen.group = nobody

-> Drücken Sie Esc und geben Sie :/user = und i ein.

-> user = Apache TO user = nginx ändern

-> AND group = Apache TO group = nginx ändern

-> Drücken Sie Esc und dann :wq (zum Speichern und Beenden)

-> systemctl start php-fpm.service (jetzt haben Sie eine php-fpm.sock Datei)

ZWEITENS konfigurieren Sie Ihren server {}-Block in Ihrer /etc/nginx/nginx.conf-Datei. Dann führe aus: systemctl restart nginx.service

SCHLIESSLICH, erstellen Sie eine neue .php-Datei in Ihrem Verzeichnis/usr/share/nginx/html für Ihren Nginx-Server, um sie als Test über den Internetbrowser zu starten.

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

-> Typ o

-> <?php echo date("Y/m/d-l"); ?> (PHP-Seite gibt Datum und Tag im Browser aus)

-> Treffer Esc

-> :wq eingeben (speichern und ganz VI-Editor)

-> Öffne einen Browser und gehe zu: http://yourDomainOrIPAddress/mytest.php (Datum und Tag sollten gedruckt werden)

5
specialk1st

Gelöst in meinem Fall schaue ich an

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

und Fehler ist php5-fpm.sock nicht gefunden

Ich schaue auf Sudo ls -lah /var/run/

es gab keinen php5-fpm.sock

Ich bearbeite die www.conf

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

veränderung

listen = 127.0.0.1:9000

zum 

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

und neu starten

2
Mdev

Wenn Sie Ihren php-fpm.conf nachschlagen

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

sie werden sehen, dass Sie den PHP FastCGI Process Manager für die Verwendung von Unix-Sockets konfigurieren müssen. Standardmäßig ist die Anweisung listen so eingerichtet, dass sie einen TCP - Socket an einem Port abhört. Wenn kein Unix-Socket definiert ist, finden Sie keine Unix-Socket-Datei.

; 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

Ich stoße auf dieses Problem, wenn ich LEMP zum ersten Mal auf centos7 ausführe. Siehe hierzu post.

Ich starte nginx neu, um die phpinfo-Seite zu testen, aber bekomme dies

http://xxx.xxx.xxx.xxx/info.php ist jetzt nicht unerreichbar.

Dann benutze ich tail -f /var/log/nginx/error.log um mehr Infos zu sehen. Ich finde die php-fpm.sock Datei nicht vorhanden. Dann starte ich das System neu, alles ist in Ordnung.

Hier muss das System möglicherweise nicht neu gestartet werden, da Faths post , sondern nur nginx und php-fpm neu geladen werden.

starte php-fpm ne

nginx config neu laden

0
Kris Roofe