Maison >développement back-end >Problème PHP >Comment implémenter un cluster php

Comment implémenter un cluster php

(*-*)浩
(*-*)浩original
2019-10-18 10:56:537610parcourir

Le cluster PHP fait référence à de nombreux serveurs traitant le même travail, ce qui fait référence au matériel général. Par exemple, la fonction principale de l'équilibrage de charge SLB est d'avoir plusieurs serveurs traitant le même travail.

Comment implémenter un cluster php

La première étape de la création d'un cluster PHP consiste à configurer l'équilibrage de charge. Nous avons d’abord besoin de trois hôtes :

Charge Nginx : 192.166.5.111 (Apprentissage recommandé : Tutoriel vidéo PHP)

Application PHP 1 : 192.168.5.112

Application PHP 2 : 192.168.5.113

Auparavant, sur l'hôte où se trouve l'application PHP, nous devons installer un serveur Web tel que Nginx ou Apache, puis utiliser Nginx comme charge dans devant.

La communication entre la charge Nginx et l'application PHP se fait au niveau de la couche application et est en fait équivalente à un proxy. Cependant, les choses sont différentes maintenant.

L'application de la technologie Fastcgi permet à la couche application PHP d'éliminer le besoin d'installer un serveur Web. Désormais, la version PHP5.5 prend en charge fpm en tant que module interne.

Dans ce cas, la communication entre la charge Nginx et l'application PHP se fait au niveau de la couche transport, et les sockets sont utilisées pour communiquer entre les deux. Bien entendu, cela nécessite le support du service fpm.

Le concept de cluster n'est pas compliqué. En fait, il s'agit de plusieurs ordinateurs travaillant ensemble pour le même objectif. Dans les applications Web, plusieurs serveurs fournissent des services pour un site.

La première étape de la création d'un cluster PHP consiste à configurer l'équilibrage de charge. Nous avons d’abord besoin de trois hôtes :

Charge Nginx : 192.166.5.111

Application PHP 1 : 192.168.5.112

Application PHP 2 : 192.168.5.113

Auparavant, sur l'hôte où se trouvait l'application PHP, nous devions installer un serveur Web tel que Nginx ou Apache, puis utiliser Nginx comme charge.

La communication entre la charge Nginx et l'application PHP se fait au niveau de la couche application et est en fait équivalente à un proxy. Cependant, les choses sont différentes maintenant. L'application de la technologie Fastcgi permet de ne pas avoir besoin d'installer un serveur web au niveau de la couche application PHP.

La version PHP5.5 prend désormais en charge fpm en tant que module interne. Dans ce cas, la communication entre la charge Nginx et l'application PHP se fait au niveau de la couche transport, et les sockets sont utilisées pour communiquer entre les deux. Bien entendu, cela nécessite le support du service fpm.

Paramètres Nginx

Configurez d'abord Nginx (192.168.5.111), modifiez le fichier de configuration 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;
……
}
}
}

Ce qui précède est les paramètres corrects définis par Nginx. Il ne contient que les éléments clés, et le reste est le même que les paramètres que nous effectuons habituellement lors de l'utilisation de Nginx+PHP en tant que service Web.

Paramètres de l'hôte où se trouve PHP

Les paramètres ici sont relativement simples.

Modifiez d'abord le fichier php-fpm.conf, modifiez l'IP et le port d'écoute, puis démarrez le service fpm
Hôte 192.168.5.112

Listen = 192.168.5.112:9000 / /Ici Le port peut être défini par vous-même. Enregistrez et quittez

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

Hôte 192.168.5.113

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

À ce stade, les paramètres de l'hôte PHP sont terminés. Bien entendu, le code doit être téléchargé sur chacun des deux hébergeurs.

D'accord, après les paramètres ci-dessus, un cluster PHP de base a été mis en place. 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn