GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer HAProxy sur le serveur Debian 9 / Ubuntu 16.04

HAProxy est une solution gratuite et open source pour la haute disponibilité et l'équilibrage de charge, elle peut également être utilisée pour les applications basées sur TCP et HTTP. HAProxy peut être installé et configuré sur Linux, Solaris et FreeBSD. HAProxy est la meilleure solution recommandée pour les sites Web qui ont un trafic énorme car elle améliore les performances et la fiabilité du serveur en équilibrant la charge des serveurs et en utilisant ses capacités de haute disponibilité

HAProxy est utilisé par un certain nombre de sites Web les plus populaires, notamment GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter et il est également utilisé dans le produit OpsWorks d'Amazon Web Services. Dans ce didacticiel, nous apprendrons à installer et à utiliser Haproxy sur Debian 9 et également pour le serveur Ubuntu 16.04. Nous allons commencer par l'installation d'Haproxy sur Debian 9,

Installation de HAProxy sur Debian 9

Actuellement, la dernière version stable d'haproxy prise en charge sur Debian 9 est la 1.8, nous n'installerons que celle-ci. Tout d'abord, nous devons activer le référentiel backports sur Debian 9, pour ce faire, utilisez la commande suivante,

[[email protected] ~]# echo deb http://httpredir.debian.org/debian stretch-backports main | tee /etc/apt/sources.list.d/backports.list

Une fois cela fait, nous allons activer un référentiel dédié avec la commande suivante,

[[email protected] ~]# curl https://haproxy.debian.net/bernat.debian.org.gpg |  apt-key add -
[[email protected] ~]# echo deb http://haproxy.debian.net stretch-backports-1.8 main | tee /etc/apt/sources.list.d/haproxy.list

Nous pouvons maintenant installer haproxy en utilisant les référentiels ajoutés ci-dessus,

[[email protected] ~]# apt-get update
[[email protected] ~]# apt-get install haproxy -t stretch-backports\*

Cela installera l'haproxy sur le système Debian 9, nous allons maintenant discuter de l'installation sur les systèmes Ubuntu 16.04.

Installation de HAProxy sur Ubuntu 16.04

HAProxy 1.8 est également la dernière version d'Ubuntu 16.04. Ubuntu a un PPA dédié disponible pour l'installation, installez-les à l'aide des commandes suivantes,

[[email protected] ~]$ sudo apt-get install software-properties-common
[[email protected] ~]$ sudo add-apt-repository ppa:vbernat/haproxy-1.8

Une fois les référentiels ajoutés, installez haproxy 1.8 avec la commande suivante,

[[email protected] ~]$ sudo apt-get update
[[email protected] ~]$ sudo apt-get install haproxy

Maintenant, nous avons haproxy prêt. Pour les besoins de ce didacticiel, nous allons configurer HAProxy pour équilibrer la charge des requêtes provenant d'un serveur de messagerie et d'un serveur Web.

Équilibrage de charge d'un serveur de messagerie avec HAProxy

Pour cet exemple, nous utiliserons deux serveurs SMTP avec respectivement l'adresse IP 192.168.1.10 et 192.168.1.20.

L'adresse IP du serveur haproxy est 192.168.1.100.

Nous allons maintenant apporter les modifications au fichier de configuration principal de HAProxy, c'est-à-dire '/etc/haproxy/haproxy.cfg ‘ puis effectuer les modifications de configuration pour équilibrer la charge des deux serveurs SMTP,

[[email protected] ~]$ sudo vi /etc/haproxy/haproxy.cfg
global
        log     /dev/log    local0
        log     /dev/log    local1 notice
        chroot  /var/lib/haproxy
        user    haproxy
        group   haproxy
        maxconn 1024
        daemon

defaults
        log     global
        mode    tcp
        option  tcplog
        option  dontlognull

frontend front_smtp
        bind *:25
        mode tcp
        default_backend back_smtp

backend back_smtp
        mode tcp
        balance roundrobin
        server smtp1 192.168.1.10:25 check
        server smtp2 192.168.1.20:25 check

ici la plupart des options ont été définies par défaut, les principales choses à changer ici sont 'frontend ' &'backend ‘ sections.

frontend front_smtp

lier *:25

mode tcp

default_backend back_smtp

Ici, nous avons défini un nom pour le frontend, c'est-à-dire front_smtp et avons demandé de prendre toutes les requêtes du port 25 avec le paramètre bind, enfin nous avons mentionné la section backend avec le nom "back_smtp" où toutes les requêtes seront distribuées.

back-end back_smtp

mode tcp

tourniquet d'équilibrage

vérification du serveur smtp1 192.168.1.10:25

vérification du serveur smtp2 192.168.1.20:25

Dans cette section, nous avons établi un nom pour le backend, c'est-à-dire back_smtp et le mode de transmission sera la méthode d'équilibrage de charge tcp à utiliser est 'roundrobin ‘. Les autres méthodes d'équilibrage de charge pouvant être utilisées sont les méthodes round robin pondérées , Algorithme de tourniquet dynamique ,Algorithme de moindre connexion , La source. Enfin, nous avons mentionné les adresses de serveur pour les deux serveurs SMTP.

Une fois les modifications apportées, enregistrez le fichier et redémarrez le service haproxy pour mettre en œuvre les modifications,

[[email protected] ~]$ sudo service haproxy restart

Notre serveur Haproxy est maintenant prêt à fonctionner comme équilibreur de charge pour le serveur de messagerie. Maintenant, plutôt que d'utiliser les adresses de serveur SMTP, nous devons utiliser l'adresse de serveur pour HAPROXY, c'est-à-dire 192.168.1.100:25 pour que l'équilibrage de charge haproxy fonctionne.

Pour vérifier si l'équilibrage de charge pour notre serveur smtp fonctionne, nous pouvons utiliser telnet,

La sortie de la commande telnet devrait être quelque chose comme ci-dessous :

[[email protected] ~]$ telnet 192.168.1.100 25
Trying 192.168.1.100..
Connected to 192.168.1.100.
Escape character is ‘^]’.
220 smtp1.linuxtechi.com ESMTP Postfix

Maintenant, exécutez à nouveau la commande telnet,

[[email protected] ~]$ telnet 192.168.1.100 25
Trying 192.168.1.100..
Connected to 192.168.1.100.
Escape character is ‘^]’.
220 smtp2.linuxtechi.com ESMTP Postfix

Notez le changement de serveur des serveurs de messagerie dans les deux sorties, ce qui montre que l'équilibrage de charge fonctionne correctement. Voyons maintenant un exemple harpoxy pour équilibrer la charge d'un serveur Web.

Équilibrage de charge d'un serveur Web avec HAProxy

Le même fichier sera édité ‘/etc/haproxy/haproxy.cfg’. Nous utiliserons deux serveurs Web (192.168.1.10 et 192.168.1.20) en backend. L'adresse IP du serveur haproxy est 192.168.1.100.

Ouvrez le fichier de configuration principal de haproxy et apportez les modifications suivantes,

[[email protected] ~]$  sudo vi /etc/haproxy/haproxy.cfg

global
        log     /dev/log    local0
        log     /dev/log    local1 notice
        chroot  /var/lib/haproxy
        user    haproxy
        group   haproxy
        maxconn 1024
        daemon

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull

frontend www-http
        bind *:80
        mode http
        default_backend apache

backend apache
        mode http
        balance roundrobin
        server web1 192.168.1.10
        server web2 192.168.1.20

Enregistrez le fichier et redémarrez le service haproxy pour mettre en œuvre les modifications,

[[email protected] ~]$ sudo service haproxy restart

Pour tester si l'équilibrage de charge fonctionne, nous pouvons placer deux pages Web différentes sur les deux serveurs. Comme par exemple, on peut modifier index.html sur le Webserver 1,

[[email protected] ~]$ sudo vi /var/www/html/index.html
This is WEB SERVER 1

&de même sur le serveur Web 2, nous pouvons éditer le fichier index.html pour dire,

[[email protected] ~]$ sudo vi /var/www/html/index.html
This is WEB SERVER 2

N'oubliez pas de redémarrer le service Web pour mettre en œuvre les modifications apportées.

Maintenant, utilisez l'adresse IP haproxy, 192.168.1.100 et accédez-y à l'aide d'un navigateur Web.

Chaque fois que nous actualisons le navigateur, nous devrions alterner les pages Web des deux serveurs Web.

Cela montre que l'équilibrage de charge de notre serveur Web fonctionne également correctement. Avec cela, nous terminons notre tutoriel sur la façon d'installer et d'utiliser HAProxy sur Debian 9 et Ubuntu 16.04. N'hésitez pas à envoyer vos questions ou suggestions en utilisant la boîte de commentaires ci-dessous


Ubuntu
  1. Comment installer OpenLDAP Server sur Debian ou Ubuntu

  2. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  3. Comment configurer un serveur Ubuntu/Debian LAMP

  4. Comment configurer le serveur DHCP sur CentOS 7 / Ubuntu 18.04 / 16.04 / Debian 9

  5. Comment installer et configurer l'équilibreur de charge HAProxy sur Ubuntu 20.04

Comment générer sosreport sur le serveur Ubuntu 18.04 / Debian 9

Comment installer et configurer Nginx sur Ubuntu 18.04 / Debian 9

Comment configurer Bacula Server sur Ubuntu 16.04

Comment configurer OSSEC sur Ubuntu - Partie 2

Comment configurer OpenVPN sur Ubuntu 16.04

Comment installer HAProxy sur Ubuntu 18.04 LTS