Cómo instalar HAProxy en Debian 11
HAProxy es una solución gratuita, de código abierto y fiable para la alta disponibilidad y el equilibrio de carga. Distribuye la carga entre los múltiples servidores de aplicaciones y simplifica las tareas de procesamiento de peticiones. Se puede instalar en los principales sistemas operativos Linux. Es popular debido a su eficiencia, fiabilidad y bajo consumo de memoria y CPU.
En este post, explicaremos cómo instalar HAProxy en un sistema Debian 11.
Requisitos previos
- Un servidor que ejecute Debian 11 para HAProxy.
- Dos servidores que ejecuten Debian 11 para el servidor Apache Backend.
- Una contraseña de root configurada en todos los servidores.
Configurar los servidores web backend
A efectos de este tutorial, necesitarás configurar dos servidores backend Apache.
En el primer servidor backend, instala el paquete Apache con el siguiente comando:
apt-get install apache2 -y
Una vez instalado el Apache, crea una página índice Apache de ejemplo con el siguiente comando:
echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html
En el segundo servidor backend, instala el paquete Apache con el siguiente comando:
apt-get install apache2 -y
A continuación, crea una página de índice Apache de muestra utilizando el siguiente comando:
echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html
Una vez que hayas terminado, puedes pasar al siguiente paso.
Instalar HAProxy
Por defecto, HAProxy está incluido en el repositorio por defecto de Debian 11. Puedes instalarlo ejecutando el siguiente comando:
apt-get install haproxy -y
Una vez instalado HAProxy, inicia el servicio HAProxy y habilítalo para que se inicie al reiniciar el sistema:
systemctl start haproxy systemctl enable haproxy
Cuando hayas terminado, puedes pasar al siguiente paso.
Configurar HAProxy
A continuación, tendrás que editar el archivo de configuración por defecto de HAProxy y definir los servidores web backend.
nano /etc/haproxy/haproxy.cfg
Añade 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
Guarda y cierra el archivo cuando hayas terminado.
Donde: 192.168.1.10 es la dirección IP del primer servidor backend Apache y 192.168.1.11 es la dirección IP del segundo servidor backend Apache.
A continuación, reinicia el servicio HAProxy para aplicar los cambios:
systemctl restart haproxy
Ahora puedes comprobar el estado del HAProxy con el siguiente comando:
systemctl status haproxy
Obtendrás la siguiente salida:
? 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 funcionando. Ahora, es el momento de probar el HAProxy.
Abre tu navegador web y escribe la URL http://your-haproxy-ip. Verás que HAProxy está enviando solicitudes a los servidores backend una a una después de cada actualización.
Conclusión
Enhorabuena! has instalado con éxito HAProxy en Debian 11. Ahora puedes implementar HAProxy en el entorno de producción para aumentar el rendimiento y la disponibilidad de tu aplicación web.