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.
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.
Reverse-Proxy kann auch durch Lastausgleich im Upstream implementiert werden.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.
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!