Comment configurer l'équilibreur de chargement à haute disponibilité avec «haproxy» pour contrôler le trafic du serveur Web

Comment configurer l'équilibreur de chargement à haute disponibilité avec «haproxy» pour contrôler le trafic du serveur Web

Haproxy représente le proxy de haute disponibilité. Il s'agit d'une application gratuite et open source écrite en langage de programmation C. L'application Haproxy est utilisée comme équilibreur de charge TCP / HTTP et pour des solutions proxy. L'utilisation la plus courante de l'application Haproxy est de distribuer la charge de travail sur plusieurs serveurs E.g., serveur Web, serveur de base de données, etc. améliorant ainsi les performances globales et la fiabilité de l'environnement du serveur.

L'application très efficace et rapide est utilisée par de nombreuses organisations réputées au monde qui comprennent mais sans s'y limiter - Twitter, Reddit, Github et Amazon. Il est disponible pour la plate-forme Linux, BSD, Solaris et AIX.

Installez l'équilibreur de charge Haproxy dans Linux

Dans ce tutoriel, nous discuterons du processus de mise en place d'un équilibreur de charge à haute disponibilité en utilisant Haproxy Pour contrôler le trafic d'applications basées sur HTTP (serveurs Web) en séparant les demandes sur plusieurs serveurs.

Pour cet article, nous utilisons la version stable la plus récente de Haproxy Version I.e. 1.5.dix Sorti le 31 décembre 2014. Et aussi nous utilisons Centos 6.5 Pour cette configuration, mais les instructions ci-dessous fonctionnent également sur les distributions Centos / Rhel / Fedora et Ubuntu / Debian.

Ma configuration d'environnement

Ici, notre serveur Haproxy de chargeur de chargement ayant un nom d'hôte comme websrv.ténineux.com avec adresse IP 192.168.0.125.

Configuration du serveur Haproxy
Système opérateur : Centos 6.5 Adresse IP : 192.168.0.125 Nom d'hôte : websrv.ténineux.com 
Configuration des serveurs Web client

Les quatre autres machines sont opérationnelles avec des serveurs Web tels que Apache.

Serveur Web # 1 : Centos 6.5 [IP: 192.168.0.121] - [Nom d'hôte: web1srv.ténineux.com] Serveur Web n ° 2 : Centos 6.5 [IP: 192.168.0.122] - [nom d'hôte: web2srv.ténineux.com] Serveur Web # 3 : Centos 6.5 [IP: 192.168.0.123] - [Nom d'hôte: web3srv.ténineux.com] Serveur Web n ° 4 : Centos 6.5 [IP: 192.168.0.124] - [nom d'hôte: web4srv.ténineux.com] 

Étape 1: Installation d'Apache sur les machines clients

1. Nous devons d'abord installer Apache dans les quatre serveurs et partager l'un des sites, pour installer Apache dans les quatre serveur ici, nous allons utiliser la commande suivante.

# yum install httpd [sur Chapeau rouge Systèmes basés] # apt-get install apache2 [sur Debian Systèmes basés 

2. Après avoir installé Apache Web Server sur les quatre machines clients, vous pouvez vérifier quiconque du serveur est en cours d'exécution en y accédant via l'adresse IP dans le navigateur.

http: // 192.168.0.121 
Vérifiez l'état Apache

Étape 2: Installation du serveur Haproxy

3. Dans la plupart des distributions Linux modernes d'aujourd'hui, Haproxy peut être facilement installé à partir du référentiel de base par défaut à l'aide du gestionnaire de package par défaut Miam ou apt-get.

Par exemple, pour installer Haproxy sur les versions RHEL / Centos / Fedora et Debian / Ubuntu, exécutez la commande suivante. Ici j'ai inclus OpenSSL Package aussi, car nous allons configurer Haproxy avec un support SSL et non SSL.

# yum install haproxy openssl-devel [sur Chapeau rouge systèmes basés] # apt-get install haproxy [sur Debian Systèmes basés 

Note: Sur Debian Whezzy 7.0, Nous devons activer le référentiel des retards en ajoutant un nouveau fichier backport.liste sous "/ etc / apt / sources.liste.d/”Répertoire avec le contenu suivant.

# echo "Deb http: // cdn.Debian.Net / Debian Wheezy-Backports Main ">> / etc / APT / Sources.liste.d / backports.liste 

Ensuite, mettez à jour la base de données du référentiel et installez Haproxy.

# Mise à jour apt-get # apt-get install haproxy -t whabep-backports 

Étape 3: Configurer les journaux Haproxy

4. Ensuite, nous devons activer la fonction de journalisation dans Haproxy pour le débogage futur. Ouvrez le fichier de configuration Haproxy principal '/ etc / haproxy / haproxy.CFG'Avec votre choix d'éditeur.

# vim / etc / haproxy / haproxy.CFG 

Ensuite, suivez les instructions spécifiques à la distribution pour configurer la fonction de journalisation dans Haproxy.

Sur rhel / centos / fedora

Sous #Paramètres globaux, Activer la ligne suivante.

journal 127.0.0.1 local2 
Sur Ubuntu / Debian

Sous #Paramètres globaux, Remplacez les lignes suivantes,

journal / dev / log local0 log / dev / log local1 avis 

Avec,

journal 127.0.0.1 local2 
Activer la journalisation haproxy

5. Ensuite, nous devons permettre la réception UDP Syslog dans '/ etc / rsyslog.confli'Fichier de configuration pour séparer les fichiers journaux pour haproxy sous / var / log annuaire. Ouvrez votrersyslog.confli'File avec votre choix d'éditeur.

# vim / etc / rsyslog.confli 

Peu commun Modloade et Udpserverrun, Ici, notre serveur écoutera Port 514 Pour collecter les journaux en syslog.

# Fournit UDP Syslog Réception $ modload iMudp $ udpserverrun 514 
Configurer la journalisation des haproxy

6. Ensuite, nous devons créer un fichier séparé 'haproxy.confli' sous '/ etc / rsyslog.d/'Répertoire pour configurer des fichiers journaux séparés.

# vim / etc / rsyslog.d / haproxy.confli 

Ajouter la ligne suivante dans le fichier nouvellement créé.

local2.* / var / log / haproxy.enregistrer 
Journaux Haproxy

Enfin, redémarrez le service RSYSLOG pour mettre à jour les nouvelles modifications.

# Service Rsyslog Redémarrer 
Pages: 1 2