


Eine kurze Diskussion über die Beziehung zwischen PHP-FPM, Nginx und FastCGI
In diesem Artikel erfahren Sie mehr über die Beziehung zwischen PHP-FPM, Nginx und FastCGI sowie über die Konfiguration des Nginx-Reverse-Proxys und des Lastausgleichs. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Die Beziehung zwischen PHP-FPM, Nginx, FastCGI
FastCGI ist ein Protokoll, das eine Brücke zwischen Anwendungen und WEB-Servern darstellt. Nginx kann nicht direkt mit PHP-FPM kommunizieren, sondern leitet die Anfrage zur Verarbeitung über FastCGI an PHP-FPM weiter.
location ~ \.php$ { try_files $uri /index.php =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Fastcgi_pass leitet hier alle PHP-Anfragen zur Verarbeitung an PHP-FPM weiter. Sie können anhand des Befehls netstat erkennen, dass der Prozess, der auf Port 127.0.0.1:9000 ausgeführt wird, php-fpm ist. Zum Beispiel:
location ^~ /seckill_query/ { proxy_pass http://ris.filemail.gdrive:8090/; proxy_set_header Host ris.filemail.gdrive; } location ^~ /push_message/ { proxy_pass http://channel.filemail.gdrive:8090/; proxy_set_header Host channel.filemail.gdrive; } location ^~ /data/ { proxy_pass http://ds.filemail.gdrive:8087/; proxy_set_header Host ds.filemail.gdrive; }
Ordnen Sie den URL-Pfad dem Standort zu und leiten Sie ihn zur Verarbeitung an einen anderen Server weiter.
Nginx Load Balancing
Einführung in das Upstream-Modul:Das Load Balancing-Modul wird verwendet, um einen Host aus der durch die „Upstream“-Direktive definierten Backend-Hostliste auszuwählen. Nginx verwendet zunächst das Lastausgleichsmodul, um einen Host zu finden, und verwendet dann das Upstream-Modul, um mit dem Host zu interagieren.
Lastausgleichskonfiguration: upstream php-upstream {
ip_hash;
server 192.168.0.1;
server 192.168.0.2;
}
location / {
root html;
index index.html index.htm;
proxy_pass http://php-upstream;
}
Nach dem Login kopierenDieses Beispiel definiert eine Lastausgleichskonfiguration für PHP-Upstream und wendet diese Konfiguration über die Reverse-Proxy-Direktive „proxy_pass“ an. Der hier verwendete ip_hash-Algorithmus verfügt über viele Lastausgleichsalgorithmen, daher werde ich sie nicht alle einzeln auflisten.
upstream php-upstream { ip_hash; server 192.168.0.1; server 192.168.0.2; } location / { root html; index index.html index.htm; proxy_pass http://php-upstream; }
Load Balancing kann auch auf fastcgi_pass verwendet werden.
Wie zum Beispiel:
Fragefastcgi_pass http://php-upstreamNach dem Login kopierenWelche Beziehung besteht zwischen Reverse-Proxy und Lastausgleich? Die beiden Wörter Reverse-Proxy und Lastausgleich erscheinen oft zusammen, unterscheiden sich jedoch tatsächlich im Konzept von Beim Lastausgleich liegt der Schwerpunkt mehr auf einem Algorithmus oder einer Strategie zur Verteilung von Anforderungen auf verschiedene Maschinen, sodass er tatsächlich die Rolle eines Reverse-Proxys übernimmt.
Der Unterschied zwischen Proxy_Pass und Fastcgi_PassEines ist das Reverse-Proxy-Modul, das andere wird zur Verarbeitung an das Factcgi-Backend weitergeleitet.
Empfohlenes Lernen: „PHP-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Beziehung zwischen PHP-FPM, Nginx und FastCGI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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



So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Schritte zum Starten von Nginx unter Linux: Überprüfen Sie, ob Nginx installiert ist. Verwenden Sie SystemCTL Start Nginx, um den Nginx -Dienst zu starten. Verwenden Sie SystemCTL aktivieren NGINX, um das automatische Start von NGINX beim Systemstart zu aktivieren. Verwenden Sie den SystemCTL -Status NGINX, um zu überprüfen, ob das Startup erfolgreich ist. Besuchen Sie http: // localhost in einem Webbrowser, um die Standard -Begrüßungsseite anzuzeigen.

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

Antwort auf die Frage: 304 Nicht geänderter Fehler gibt an, dass der Browser die neueste Ressourcenversion der Client -Anfrage zwischengespeichert hat. Lösung: 1. Löschen Sie den Browser -Cache; 2. Deaktivieren Sie den Browser -Cache; 3. Konfigurieren Sie Nginx, um den Client -Cache zu ermöglichen. 4. Überprüfen Sie die Dateiberechtigungen; 5. Datei Hash prüfen; 6. Deaktivieren Sie CDN oder Reverse Proxy -Cache; 7. Starten Sie Nginx neu.

Verwenden Sie unter Linux den folgenden Befehl, um zu überprüfen, ob Nginx gestartet wird: SystemCTL -Status Nginx Richter basierend auf der Befehlsausgabe: Wenn "aktiv: aktiv (lief) angezeigt wird, wird Nginx gestartet. Wenn "Active: Inactive (Dead)" angezeigt wird, wird Nginx gestoppt.

Der Server verfügt nicht über die Berechtigung, auf die angeforderte Ressource zuzugreifen, was zu einem NGINX 403 -Fehler führt. Zu den Lösungen gehören: Überprüfung der Dateiberechtigungen. Überprüfen Sie die Konfiguration .htaccess. Überprüfen Sie die Nginx -Konfiguration. Konfigurieren Sie Selinux -Berechtigungen. Überprüfen Sie die Firewall -Regeln. Fehlerbehebung bei anderen Ursachen wie Browserproblemen, Serverausfällen oder anderen möglichen Fehlern.

Wie fixiere ich Nginx 403 Verbotener Fehler? Überprüfen Sie die Datei- oder Verzeichnisberechtigungen; 2.Htaccess -Datei prüfen; 3. Überprüfen Sie die Konfigurationsdatei der Nginx; 4. Starten Sie Nginx neu. Weitere mögliche Ursachen sind Firewall -Regeln, Selinux -Einstellungen oder Anwendungsprobleme.
