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

PHPz
Freigeben: 2023-04-24 14:37:48
Original
1837 Leute haben es durchsucht

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
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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/
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage