GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar HAProxy en el servidor Debian 9 / Ubuntu 16.04

HAProxy es una solución gratuita y de código abierto para alta disponibilidad y equilibrio de carga, también se puede utilizar para aplicaciones basadas en TCP y HTTP. HAProxy se puede instalar y configurar en Linux, Solaris y FreeBSD. HAProxy es la mejor solución recomendada para los sitios web que tienen un gran tráfico, ya que mejora el rendimiento y la confiabilidad del servidor mediante el equilibrio de carga de los servidores y el uso de sus capacidades de alta disponibilidad

HAProxy es utilizado por varios de los sitios web más populares, incluidos GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter y también se usa en el producto OpsWorks de Amazon Web Services. En este tutorial, aprenderemos a instalar y usar Haproxy en Debian 9 y también para el servidor Ubuntu 16.04. Primero comenzaremos con la instalación de Haproxy en Debian 9,

Instalación de HAProxy en Debian 9

Actualmente, la última versión estable de haproxy compatible con Debian 9 es la 1.8, solo instalaremos esa. En primer lugar, debemos habilitar el repositorio de backports en Debian 9, para hacerlo, use el siguiente comando,

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

Una vez hecho esto, habilitaremos un repositorio dedicado con el siguiente comando,

[[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

Ahora podemos instalar haproxy usando los repositorios agregados arriba,

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

Esto instalará el haproxy en el sistema Debian 9, ahora discutiremos la instalación en los sistemas Ubuntu 16.04.

Instalación de HAProxy en Ubuntu 16.04

HAProxy 1.8 también es la última versión para Ubuntu 16.04. Ubuntu tiene PPA dedicado disponible para instalar, instálelos usando los siguientes comandos,

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

Después de agregar los repositorios, instale haproxy 1.8 con el siguiente comando,

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

Ahora tenemos haproxy listo. A los efectos de este tutorial, configuraremos HAProxy para equilibrar la carga de las solicitudes de un servidor de correo y un servidor web.

Equilibrio de carga de un servidor de correo con HAProxy

Para este ejemplo, usaremos dos servidores SMTP con la dirección IP 192.168.1.10 y 192.168.1.20 respectivamente.

La dirección IP del servidor haproxy es 192.168.1.100.

Ahora haremos los cambios en el archivo de configuración principal de HAProxy, es decir, '/etc/haproxy/haproxy.cfg ' y luego realice los cambios de configuración para equilibrar la carga de los dos servidores 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

aquí la mayoría de las opciones se han configurado de forma predeterminada, las principales cosas que se deben cambiar aquí son 'frontend ' &'back-end ‘ secciones.

interfaz frontend_smtp

enlazar *:25

modo tcp

default_backend back_smtp

Aquí hemos definido un nombre para el frontend, es decir, front_smtp y hemos solicitado tomar todas las solicitudes del puerto 25 con el parámetro de vinculación, por último, hemos mencionado la sección del backend con el nombre 'back_smtp' donde se distribuirán todas las solicitudes.

servidor back_smtp

modo tcp

equilibrio por turnos

servidor smtp1 192.168.1.10:25 comprobar

servidor smtp2 192.168.1.20:25 comprobar

En esta sección, hemos establecido un nombre para el backend, es decir, back_smtp y el modo para la transmisión será tcp. El método de equilibrio de carga que se usará es 'roundrobin '. Otros métodos de equilibrio de carga que se pueden utilizar son Wighted round robin , Algoritmo rotatorio dinámico ,Algoritmo de mínima conexión , Fuente. Por último, hemos mencionado las direcciones de servidor para ambos servidores SMTP.

Una vez que se hayan realizado los cambios, guarde el archivo y reinicie el servicio haproxy para implementar los cambios,

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

Nuestro servidor Haproxy ahora está listo para funcionar como equilibrador de carga para el servidor de correo. Ahora, en lugar de usar las direcciones del servidor SMTP, necesitamos usar la dirección del servidor para HAPROXY, es decir, 192.168.1.100:25 para que funcione el balanceo de carga de haproxy.

Para verificar si el balanceo de carga para nuestro servidor smtp está funcionando, podemos usar telnet,

La salida del comando telnet debería ser similar a la siguiente:

[[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

Ahora vuelva a ejecutar el comando 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

Observe el cambio en el servidor de los servidores de correo en ambas salidas, lo que muestra que el equilibrio de carga funciona bien. Ahora analicemos un ejemplo de arpoxia para equilibrar la carga de un servidor web.

Equilibrio de carga de un servidor web con HAProxy

Se editará el mismo archivo ‘/etc/haproxy/haproxy.cfg’. Usaremos dos servidores web (192.168.1.10 y 192.168.1.20) en el backend. La dirección IP del servidor haproxy es 192.168.1.100.

Abra el archivo de configuración principal de haproxy y realice los siguientes cambios,

[[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

Guarde el archivo y reinicie el servicio haproxy para implementar los cambios,

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

Para probar si el equilibrio de carga funciona, podemos colocar dos páginas web diferentes en ambos servidores. Como por ejemplo, podemos modificar index.html en el servidor web 1,

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

Y de manera similar en el servidor web 2, podemos editar index.html para decir,

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

No olvide reiniciar el servicio web para implementar los cambios realizados.

Ahora, use la dirección IP haproxy, 192.168.1.100 y acceda a ella usando un navegador web.

Cada vez que actualizamos el navegador, deberíamos alternar las páginas web de ambos servidores web.

Esto muestra que el equilibrio de carga de nuestro servidor web también funciona bien. Con esto finalizamos nuestro tutorial sobre cómo instalar y usar HAProxy en Debian 9 y Ubuntu 16.04. No dude en enviar sus consultas o sugerencias utilizando el cuadro de comentarios a continuación


Ubuntu
  1. Cómo instalar el servidor OpenLDAP en Debian o Ubuntu

  2. Cómo instalar y configurar el servidor DHCP en Ubuntu 20.04

  3. Cómo configurar un servidor LAMP de Ubuntu/Debian

  4. Cómo configurar el servidor DHCP en CentOS 7 / Ubuntu 18.04 / 16.04 / Debian 9

  5. Cómo instalar y configurar el balanceador de carga HAProxy en Ubuntu 20.04

Cómo generar sosreport en Ubuntu 18.04 / Debian 9 Server

Cómo instalar y configurar Nginx en Ubuntu 18.04 / Debian 9

Cómo configurar el servidor Bacula en Ubuntu 16.04

Cómo configurar OSSEC en Ubuntu - Parte 2

Cómo configurar OpenVPN en Ubuntu 16.04

Cómo instalar HAProxy en Ubuntu 18.04 LTS