Heim  >  Artikel  >  Backend-Entwicklung  >  Nginx + PHP-fpm-Datei nicht gefunden. Problemlösungsdatensatz

Nginx + PHP-fpm-Datei nicht gefunden. Problemlösungsdatensatz

不言
不言Original
2018-04-23 17:22:5010504Durchsuche

Der Inhalt dieses Artikels handelt von Nginx + PHP-fpm. Der Datensatz zur Problemlösung hat einen bestimmten Referenzwert. Jetzt können Freunde in Not darauf verweisen.

Phänomenbestätigung.

Öffnen Sie die Entwicklertools des Browsers und sehen Sie sich die Anforderungsinformationen an

<br>

HTTP/1.1 404 nicht gefunden

Server: nginx/1.11 .10

Datum: Fr, 20. April 2018 08:10:13 GMT

Inhaltstyp: Text/HTML; charset=UTF -8

Transfer-Encoding: chunked

Verbindung: keep-alive

X-Powered-By: PHP/5.6.30

Erklärung, dass das Ergebnis von FastCGI zurückgegeben wird.

<br>

Ursache des Problems:

<br>

Hängt wahrscheinlich mit Berechtigungen zusammen

<br>

Die gleiche Konfiguration, verwenden Sie die folgenden beiden:

/opt/local/share/nginx/html  
/opt/local/share/nginx/html/php

Beide Verzeichnisse sind in Ordnung, aber verwenden Sie:

/Users/xxx/Downloads/workForder

Verzeichnisse können nicht.

Überprüfen Sie die Berechtigungen über ls -l und stellen Sie fest, dass der Unterschied darin besteht, dass die Dateien im Verzeichnis

<br>

/Users/xxx/Downloads/workForder

keine erweiterten Attribute haben Das heißt, es gibt kein @-Symbol.

<br>

Später wurde das Stammverzeichnis der statischen Datei von Nginx geändert in:

<br>

/Users/xxx/Downloads/workForder

Zugriff erscheint:

403 verbotener Fehler

Bei einem erneuten Blick auf nginx 403 haben wir die Ursache des Problems gefunden. Wir müssen den Benutzer und die Gruppe in der Konfigurationsdatei ändern.

Nginx-Format ist: <br>

user 你的用户名/root owner;
比如:
user root owner;

PHP-fpm entsprechend ändern: <br>

user = root
group = owner

und dann neu starten.

PHP-fpm selbst verfügt über keinen Neustartbefehl, was ziemlich verwirrend ist! Die einzige Möglichkeit besteht darin, den Prozess abzubrechen. <br>

Konfigurationsdatei:

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #

        location ~ \.php$ {
            root           /Users/xxx/Downloads/workForder;
           # root           /opt/local/share/nginx/html/php;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;

         }

Hier werden nur die Teile angezeigt, die sich auf PHP beziehen. Wenn ich

<br>
try_files $uri =404;
 后,就会看到由Nginx返回的:

<br>

<br>

hinzufüge, um auf die PHP-Datei zuzugreifen, sehen Sie möglicherweise Folgendes Fehler:

<br>

Das liegt daran, dass FastCGI nicht gestartet wurde und gestartet werden muss:

sudo php-fpm  -D

Und wenn Nginx und PHP Wenn sie alle Wenn Sie auf dasselbe Verzeichnis zeigen, wird weiterhin Folgendes angezeigt:

Datei nicht gefunden

Das obige ist der detaillierte Inhalt vonNginx + PHP-fpm-Datei nicht gefunden. Problemlösungsdatensatz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn