Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn Nginx die PHP-Seite nicht öffnen kann?

Was soll ich tun, wenn Nginx die PHP-Seite nicht öffnen kann?

PHPz
PHPzOriginal
2023-04-24 10:50:331788Durchsuche

Mit der rasanten Entwicklung des Internets sind Webdienste zu einer der wichtigsten Möglichkeiten für Menschen geworden, Informationen zu erhalten. Eine der beliebtesten Webservice-Technologien ist LAMP, nämlich Linux, Apache, MySQL und PHP. Ihr Aufkommen erleichtert die Erstellung dynamischer Webanwendungen. Obwohl LAMP häufig als vollständige Webdienstlösung verwendet wird, entscheiden sich aufgrund des Ressourcenverbrauchs und der Leistungsprobleme des Apache-Servers immer mehr Menschen für die Verwendung von Nginx anstelle von Apache als Webserver.

Nginx ist ein leistungsstarker, leichter Webserver und Reverse-Proxy-Server. Es handelt sich um eine Open-Source-Software, die sehr stabil ist und mehrere Plattformen unterstützt. Sie implementiert alle Grundfunktionen der Apache-Webdienste und bietet eine bessere Leistung. Allerdings stoßen viele Entwickler immer noch auf einige alte Probleme, wenn sie PHP mit Nginx verwenden, wie zum Beispiel, dass Nginx PHP-Seiten nicht korrekt öffnen kann. Lassen Sie uns das Problem, dass Nginx die PHP-Seite nicht öffnen kann, und seine Lösung im Detail besprechen.

Problembeschreibung

Wenn einige PHP-Programme auf dem Nginx-Server ausgeführt werden, kann die PHP-Seite nicht geöffnet werden. Browser zeigen häufig Fehlermeldungen an: „502 Bad Gateway“ oder „404 Not Found“. Dies wird normalerweise dadurch verursacht, dass PHP-FPM (PHP FastCGI Process Manager) nicht ordnungsgemäß startet. PHP-FPM ist ein externer Prozessmanager, der in der Nginx-Lösung ausgeführt wird und für die Verwaltung der Zuweisung und Ausführung des PHP-Interpreterprozesses verantwortlich ist.

Lösung

Das Folgende ist eine Lösung für das Problem, dass Nginx die PHP-Seite nicht öffnen kann:

1. Überprüfen Sie, ob Nginx und PHP-FPM korrekt installiert wurden

Stellen Sie zunächst sicher, dass Sie Nginx und PHP-FPM korrekt installiert haben. Wenn Sie sie nicht korrekt installieren, können Sie PHP-Skripte möglicherweise nicht korrekt ausführen. Um sicherzustellen, dass PHP-FPM korrekt installiert wurde, führen Sie den folgenden Befehl im Terminal aus:

sudo apt-get install php-fpm

2 Überprüfen Sie die Nginx-Konfigurationsdatei

Stellen Sie sicher, dass die Nginx-Konfigurationsdatei vorhanden ist Wenn der PHP-Interpreter korrekt eingerichtet ist, müssen Sie beispielsweise den Pfad der PHP-FPM-Installation zu „location/“ in der Nginx-Konfigurationsdatei hinzufügen.

server {
  listen   80;
  root /var/www/html;
  index index.php index.html index.htm;
  server_name test.com;
  
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  
  location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300;
  }
}

Fügen Sie den obigen Code in die Nginx-Konfigurationsdatei ein und stellen Sie sicher, dass der Pfad dort mit Ihrem tatsächlichen Pfad übereinstimmt. Sobald Sie den Speicherort Ihres PHP-Interpreters richtig konfiguriert haben, verwendet Nginx ihn, um PHP-Skripte zu rendern und sie an die Webbrowser Ihrer Website-Besucher zu übermitteln.

3. Starten Sie den Dienst neu.

Wenn Sie die Nginx-Konfigurationsdatei geändert haben, sollten Sie den Nginx-Dienst neu starten. Um Nginx neu zu starten, führen Sie den folgenden Befehl im Terminal aus:

sudo service nginx restart

Ebenso müssen Sie den PHP-FPM-Dienst neu starten, wenn Sie die PHP-FPM-Konfigurationsdatei geändert haben. Um PHP-FPM neu zu starten, führen Sie den folgenden Befehl im Terminal aus: `

sudo service php-fpm restart

4. Überprüfen Sie, ob PHP-FPM gestartet wurde

Wenn Ihre PHP-Seite immer noch nicht richtig funktioniert , kann es daran liegen, dass PHP-FPM nicht gestartet ist. Um zu überprüfen, ob PHP-FPM ausgeführt wird, führen Sie den folgenden Befehl im Terminal aus:

systemctl status php-fpm.service

Wenn es ausgeführt wird, sehen Sie die Worte „Aktiv: aktiv (läuft)“. Wenn nicht, können Sie PHP-FPM neu starten, indem Sie den folgenden Befehl ausführen:

sudo service php-fpm start

5. Überprüfen Sie die Datei- und Ordnerberechtigungen

Stellen Sie abschließend sicher, dass Ihre PHP-Dateien und PHP Alle abhängigen Ordner verfügen über die richtigen Berechtigungen. Wenn die Berechtigungen der PHP-Datei oder abhängiger Ordner nicht korrekt eingestellt sind, kann das PHP-Skript nicht ausgeführt werden. Um Datei- oder Ordnerberechtigungen zu ändern, führen Sie den folgenden Befehl im Terminal aus:

sudo chown -R www-data:www-data /var/www/html/

Der obige Befehl ändert den Besitz von Dateien und Ordnern auf den Benutzer und die Gruppe www-data.

Zusammenfassung

Nginx ist ein Hochleistungs-Webserver und Reverse-Proxy-Server, der als Alternative zu Apache zum Ausführen dynamischer Webanwendungen verwendet werden kann. Aufgrund einiger Konfigurationen und Probleme zwischen Nginx und PHP-FPM können Sie die PHP-Seite jedoch manchmal nicht korrekt öffnen. In diesem Fall können Sie die oben genannten Schritte nacheinander zur Fehlerbehebung ausführen. Nachdem alle oben genannten Schritte abgeschlossen sind, sollten Sie PHP-Skripte normal auf dem Nginx-Server ausführen können.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Nginx die PHP-Seite nicht öffnen kann?. 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