


Denken Sie daran, den 502 Bad Gateway-Fehler zu beheben, wenn Nginx das yii2-Projekt bereitstellt
Ich hatte am Samstag nichts zu tun, also habe ich versucht, yii2 zu installieren und bereitzustellen. Während des Installationsvorgangs gab es kein Problem, aber als ich es auf Nginx bereitstellte, stieß ich auf ein 502-schlechtes Gateway-Problem Zeit, es zu reparieren. Dieses Problem ist mir bei der Bereitstellung von yii2 noch nie begegnet, daher notiere ich es hier als Referenz.
1. Installations- und Bereitstellungsumgebung
Betriebssystem: macOS, PHP-Version: 5.6, Nginx-Version: 1.10.1, YII2-Version: 2.0.
2, Installation von yii2
Die Installation von yii2 ist sehr einfach. Sehen Sie sich einfach das Handbuch auf der offiziellen Website an. Was ich hier installiert habe, ist yii2-app-advanced (Yii 2 Advanced Project Template). Befolgen Sie einfach die Installationsanweisungen in der README-Datei. Ich werde nicht näher darauf eingehen.
3. Bereitstellung von yii2 auf Nginx
Tatsächlich hat die README-Datei des yii2-app-advanced-Projekts sehr deutlich gemacht, wie man es auf Nginx bereitstellt. Wenn Sie die Schritte befolgen, sollte es keine Probleme geben. Aber ich war während der Bereitstellung faul und habe direkt die Nginx-Bereitstellungsparameter in der README-Datei verwendet, was zu einem 502 Bad Gateway-Fehler führte.
Die Antwortcodes, die im HTTP-Statuscode mit 5 beginnen, werden alle von der Serverseite verursacht, schauen Sie sich also das Nginx-Protokoll an:
Fehlerprotokoll:
Als ich Upstream sah: „fastcgi: //127.0.0.1:9090“, schien der Port falsch zu sein, also überprüfte ich die Konfiguration des virtuellen Hosts:
Werfen wir einen Blick auf die Konfiguration von php-fpm:
Natürlich ist der vom virtuellen Nginx-Host angegebene FastCGI-Server-Überwachungsport falsch, was dazu führt, dass Nginx keine Antwort vom FastCGI-Server erhält. Wenn der Browser eine Anfrage stellt, gibt Nginx daher einen 502-Statuscode an den Browser zurück und teilt dem Browser mit, dass der Upstream-FastCGI-Server nicht geantwortet hat.
4, Lösung
Ändern Sie im virtuellen Nginx-Host den durch fastcgi_pass angegebenen Port korrekt, und dieser Fehler wird behoben.
5, Zusammenfassung
(1) Fehler, die mit dem HTTP-Statuscode 5 beginnen, werden durch den Server (Webserver) verursacht, der als Gateway oder Proxy fungiert. Er wird vom Upstream empfangen Server (Fastcgi-Server) auf eine ungültige Antwort.
(2) fastcgi_pass ist eine Konfigurationsanweisung des Moduls ngx_http_fastcgi_module. Sie gibt die Adresse des Fastcgi-Servers an. Die Beschreibung im Nginx-Dokument lautet wie folgt:
<span style="color: #008080;"> 1</span> <span style="color: #000000;">Syntax: fastcgi_pass address; </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">Default</span><span style="color: #000000;">: — </span><span style="color: #008080;"> 3</span> Context: location, <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">in</span><span style="color: #000000;"> location </span><span style="color: #008080;"> 4</span> <span style="color: #008080;"> 5</span> <span style="color: #000000;">Sets the address of a FastCGI server. The address can be specified as a domain name or IP address, and a port: </span><span style="color: #008080;"> 6</span> fastcgi_pass localhost:9000<span style="color: #000000;">; </span><span style="color: #008080;"> 7</span> <span style="color: #008080;"> 8</span> or as a UNIX-<span style="color: #000000;">domain socket path: </span><span style="color: #008080;"> 9</span> fastcgi_pass unix:/tmp/<span style="color: #000000;">fastcgi.socket; </span><span style="color: #008080;">10</span> <span style="color: #008080;">11</span> <span style="color: #0000ff;">If</span> a domain name resolves to several addresses, all of them will be used <span style="color: #0000ff;">in</span> a round-robin fashion. <span style="color: #0000ff;">In</span> addition, an address can be specified as a server group.
Referenz:
HTTP-Statuscode
fastcgi_pass
Syntax: | <strong>fastcgi_pass</strong> <code><em>address</em> ; |
---|---|
Default: | — |
Context: |
location , if in location
|

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

