Cómo instalar HAProxy en Debian 11

Servidor 1

HAProxy es una solución gratuita, de código abierto y confiable para alta disponibilidad y equilibrio de carga. Distribuye la carga entre los múltiples servidores de aplicaciones y simplifica las tareas de procesamiento de solicitudes. Se puede instalar en todos los principales sistemas operativos Linux. Es popular debido a su eficiencia, confiabilidad y bajo consumo de memoria y CPU.

En esta publicación, explicaremos cómo instalar HAProxy en un sistema Debian 11.

Requisitos previos

  • Un servidor que ejecuta Debian 11 para HAProxy.
  • Dos servidores que ejecutan Debian 11 para el servidor Apache Backend.
  • Una contraseña de root está configurada en todos los servidores.

Configurar servidores web back-end

Para los fines de este tutorial, deberá configurar dos servidores Apache de back-end.

En el primer servidor backend, instale el paquete de Apache con el siguiente comando:

apt-get install apache2 -y

Una vez que Apache esté instalado, cree una página de índice de Apache de muestra con el siguiente comando:

echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html

En el segundo servidor backend, instale el paquete de Apache con el siguiente comando:

apt-get install apache2 -y

A continuación, cree una página de índice de Apache de muestra con el siguiente comando:

echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar HAProxy

De forma predeterminada, HAProxy se incluye en el repositorio predeterminado de Debian 11. Puede instalarlo ejecutando el siguiente comando:

apt-get install haproxy -y

Una vez que HAProxy esté instalado, inicie el servicio HAProxy y habilítelo para que se inicie al reiniciar el sistema:

systemctl start haproxy
systemctl enable haproxy

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar HAProxy

A continuación, deberá editar el archivo de configuración predeterminado de HAProxy y definir los servidores web backend.

nano /etc/haproxy/haproxy.cfg

Agregue las siguientes líneas:

frontend apache_front
        # Frontend listen port - 80
        bind *:80
        # Set the default backend
        default_backend    apache_backend_servers
        # Enable send X-Forwarded-For header
        option             forwardfor
  
# Define backend
backend apache_backend_servers                                                                                                                     
        # Use roundrobin to balance traffic
        balance            roundrobin
        # Define the backend servers
        server             backend01 192.168.1.10:80 check
        server             backend02 192.168.1.11:80 check

Guarde y cierre el archivo cuando haya terminado.

Dónde: 192.168.1.10 es la dirección IP del primer servidor backend de Apache y 192.168.1.11 es la dirección IP del segundo servidor Apache.

A continuación, reinicie el servicio HAProxy para aplicar los cambios:

systemctl restart haproxy

Ahora puede verificar el estado de HAProxy con el siguiente comando:

systemctl status haproxy

Obtendrá el siguiente resultado:

? haproxy.service - HAProxy Load Balancer
     Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 03:47:14 UTC; 9s ago
       Docs: man:haproxy(1)
             file:/usr/share/doc/haproxy/configuration.txt.gz
    Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS)
   Main PID: 86680 (haproxy)
      Tasks: 3 (limit: 4679)
     Memory: 34.2M
        CPU: 61ms
     CGroup: /system.slice/haproxy.service
             ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
             ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock

Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer...
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer.
Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.

Verificar HAProxy

En este punto, HAProxy está configurado y ejecutándose. Ahora es el momento de probar el HAProxy.

Abra su navegador web y escriba la URL http://tu-haproxy-ip. Verá que HAProxy está enviando solicitudes a los servidores back-end una por una después de cada actualización.

Servidor 1

Servidor 2

Conclusión

¡Felicidades! Ha instalado correctamente HAProxy en Debian 11. Ahora puede implementar HAProxy en el entorno de producción para aumentar el rendimiento y la disponibilidad de su aplicación web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *