Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie einen PHP-Cluster

So implementieren Sie einen PHP-Cluster

(*-*)浩
(*-*)浩Original
2019-10-18 10:56:537561Durchsuche

PHP-Cluster bezieht sich auf viele Server, die dieselbe Arbeit verarbeiten, was sich auf die allgemeine Hardware bezieht. Die Hauptfunktion des SLB-Lastausgleichs besteht beispielsweise darin, dass mehrere Server dieselbe Arbeit verarbeiten.

So implementieren Sie einen PHP-Cluster

Der erste Schritt beim Aufbau eines PHP-Clusters ist die Einrichtung des Lastausgleichs. Zuerst benötigen wir drei Hosts:

Nginx-Last: 192.166.5.111 (Empfohlenes Lernen: PHP-Video-Tutorial)

PHP-Anwendung 1: 192.168.5.112

PHP-Anwendung 2: 192.168.5.113

Zuvor müssen wir auf dem Host, auf dem sich die PHP-Anwendung befindet, einen Webserver wie Nginx oder Apache installieren und dann Nginx als Load-In verwenden Front.

Die Kommunikation zwischen Nginx-Last und PHP-Anwendung erfolgt auf der Anwendungsebene und entspricht tatsächlich einem Proxy. Allerdings sind die Dinge jetzt anders.

Durch die Anwendung der Fastcgi-Technologie kann die PHP-Anwendungsschicht die Installation eines Webservers überflüssig machen. Jetzt unterstützt die PHP5.5-Version fpm als internes Modul.

In diesem Fall erfolgt die Kommunikation zwischen der Nginx-Last und der PHP-Anwendung auf der Transportschicht, und Sockets werden für die Kommunikation zwischen beiden verwendet. Dies erfordert natürlich die Unterstützung des fpm-Dienstes.

Das Konzept des Clusters ist nicht kompliziert. Tatsächlich arbeiten mehrere Computer für dasselbe Ziel zusammen. In Webanwendungen stellen mehrere Server Dienste für eine Site bereit.

Der erste Schritt beim Aufbau eines PHP-Clusters besteht darin, den Lastausgleich einzurichten. Zuerst benötigen wir drei Hosts:

Nginx-Last: 192.166.5.111

PHP-Anwendung 1: 192.168.5.112

PHP-Anwendung 2: 192.168.5.113

Bisher mussten wir auf dem Host, auf dem sich die PHP-Anwendung befand, einen Webserver wie Nginx oder Apache installieren und dann Nginx als Last verwenden.

Die Kommunikation zwischen Nginx-Last und PHP-Anwendung erfolgt auf der Anwendungsebene und entspricht tatsächlich einem Proxy. Allerdings sind die Dinge jetzt anders. Durch den Einsatz der Fastcgi-Technologie ist die Installation eines Webservers auf der PHP-Anwendungsebene nicht erforderlich.

Jetzt unterstützt die PHP5.5-Version fpm als internes Modul. In diesem Fall erfolgt die Kommunikation zwischen der Nginx-Last und der PHP-Anwendung auf der Transportschicht, und für die Kommunikation zwischen beiden werden Sockets verwendet. Dies erfordert natürlich die Unterstützung des fpm-Dienstes.

Nginx-Einstellungen

Richten Sie zuerst Nginx (192.168.5.111) ein und bearbeiten Sie die Konfigurationsdatei nginx.conf

http{
……
upstream onmpw_phpApps{
server 192.168.18.88:9000;
server 192.168.18.191:9000;
}
……
Server{
listen 80;
server_name load.onmpw.com ##这里是域名
root /www/onmpw
……
location ~ \.php$ {
root /www/onmpw ##这里是PHP应用所在目录
fastcgi_pass onmpw_phpApps;
……
}
}
}

Das Obige ist die korrekten Einstellungen von Nginx. Es enthält nur die wichtigsten Teile und der Rest entspricht den Einstellungen, die wir normalerweise vornehmen, wenn wir Nginx+PHP als Webdienst verwenden.

Einstellungen des Hosts, auf dem sich PHP befindet

Die Einstellungen hier sind relativ einfach.

Bearbeiten Sie zuerst die Datei php-fpm.conf, ändern Sie die Überwachungs-IP und den Port und starten Sie dann den FPM-Dienst
Host 192.168.5.112

Listen = 192.168.5.112:9000 / /Hier Der Port kann selbst eingestellt werden. Speichern und beenden

# /usr/local/php/sbin/php-fpm //开启服务

Host 192.168.5.113

Listen = 192.168.5.113:9000
# /usr/local/php/sbin/php-fpm

An diesem Punkt sind die PHP-Hosteinstellungen abgeschlossen. Natürlich muss der Code auf jeden der beiden Hosts hochgeladen werden.

Okay, nach den oben genannten Einstellungen wurde ein grundlegender PHP-Cluster eingerichtet. 

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen PHP-Cluster. 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
Vorheriger Artikel:Welche PHP-Version ist besser?Nächster Artikel:Welche PHP-Version ist besser?