Cómo instalar y configurar HAProxy en Ubuntu 22.04
HAProxy, que también significa Proxy de Alta Disponibilidad, es un equilibrador de carga y una solución de proxy gratuitos y de código abierto diseñados para simplificar y proteger las arquitecturas de aplicaciones modernas. Permite que un servidor web distribuya las peticiones entrantes entre varios puntos finales. Es muy útil cuando demasiadas conexiones simultáneas saturan la capacidad de un único servidor. Está ganando popularidad debido a su eficiencia, fiabilidad y bajo consumo de memoria y CPU.
En este post, explicaremos cómo instalar HAProxy en Ubuntu 22.04.
Requisitos previos
- Un servidor con Ubuntu 22.04 para HAProxy.
- Dos servidores con Ubuntu 22.04 para el servidor Apache Backend.
- Una contraseña de root configurada en todos los servidores.
Configurar los servidores web Apache como servidor backend
En primer lugar, tendrás que configurar dos servidores web Apache como servidor backend para realizar el tutorial.
En el primer servidor backend, instala el paquete Apache con el siguiente comando:
apt-get install apache2 -y
Después de la instalación, crea una página índice Apache de ejemplo con el siguiente comando:
echo "<H1>Success! This is my 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 índice de Apache de muestra utilizando el siguiente comando:
echo "<H1>Success! This is my second Apache Server</H1>" | tee /var/www/html/index.html
Una vez que hayas terminado, puedes proceder a instalar el servidor HAProxy.
Instalar HAProxy
Por defecto, HAProxy está incluido en el repositorio por defecto de Ubuntu 22.04. 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
Una vez hayas terminado, puedes proceder a configurar el HAProxy.
Configurar el HAProxy
Llegados a este punto, el HAProxy está instalado y funcionando. Ahora, 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 tus dos servidores backend Apache:
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 172.16.0.200:80 check server backend02 172.16.0.201:80 check
Guarda y cierra el archivo cuando hayas terminado.
Donde: 172.16.0.200 es la dirección IP del primer servidor backend Apache y 172.16.0.201 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 Mon 2022-07-11 09:03:45 UTC; 45s ago Docs: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Main PID: 48217 (haproxy) Tasks: 2 (limit: 2242) Memory: 71.3M CPU: 143ms CGroup: /system.slice/haproxy.service ??48217 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??48219 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock Jul 11 09:03:45 ubuntu2204 systemd[1]: Starting HAProxy Load Balancer... Jul 11 09:03:45 ubuntu2204 haproxy[48217]: [NOTICE] (48217) : New worker #1 (48219) forked Jul 11 09:03:45 ubuntu2204 systemd[1]: Started HAProxy Load Balancer.
Probar HAProxy
En este punto, HAProxy está configurado y funcionando. Ahora, es el momento de verificar si el HAProxy funciona o no.
Abre tu navegador y escribe la URL http://your-haproxy-ip. Verás que HAProxy está enviando peticiones a los servidores backend una a una después de cada actualización.
Conclusión
En este post, te hemos mostrado cómo instalar y configurar el servidor HAProxy para distribuir la carga entre dos servidores web Apache. en Ubuntu 22.04. Ahora puedes implementar HAProxy en el entorno de producción para aumentar el rendimiento y la disponibilidad de tu aplicación web.