Cómo instalar y configurar HAProxy en Rocky Linux 8

primer servidor

Cuando implementa una aplicación en Internet, la disponibilidad, la escalabilidad y el rendimiento de la aplicación son muy importantes para una mejor experiencia del usuario. Hay muchas tecnologías que introducen redundancia, como equilibrio de carga, agrupación en clústeres y proxy.

HAProxy es un equilibrador de carga gratuito, de código abierto y confiable diseñado para sitios web de alto tráfico. Equilibra la carga del tráfico entrante distribuyéndolo entre múltiples servidores backend. Si estás buscando un «haproxy linux» confiable, HAProxy es una excelente opción.

En este artículo le mostramos cómo instalar y configurar HAProxy en Rocky Linux 8, proporcionándote un «haproxy tutorial» completo para que puedas poner en marcha tu «primer server» con HAProxy.

A los efectos de este tutorial, utilizaremos la siguiente configuración:

Servidor Dirección IP

HAProxy 172.16.10.10

Backend1 172.16.10.11

Backend2 172.16.10.12

requisitos previos

  • Un servidor que ejecuta RockyLinux 8.
  • Una contraseña de root está configurada en el servidor.

Instalar HAProxy

De forma predeterminada, el paquete HAProxy está disponible en el repositorio predeterminado de Rocky Linux 8. Puedes instalarlo con el siguiente comando:

dnf 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

Configurar HAProxy

A continuación, deberá editar el archivo /etc/haproxy/haproxy.cfg y modificar dos secciones frontend y backend. En la sección Frontend, deberá definir la IP de HAProxy, su puerto, URI de estadísticas y nombre de backend. En la sección Backend, deberá definir el algoritmo de equilibrio de carga, el nombre del servidor backend, las direcciones IP y el puerto.

nano /etc/haproxy/haproxy.cfg

Modificar las siguientes secciones:

frontend http_balancer
    bind 172.16.10.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

default_backend     Apache_webservers

backend apache_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1rnHost: localhost    
    server  apache1  172.16.10.11:80  check
    server  apache2  172.16.10.12:80  check

Guarde y cierre el archivo cuando haya terminado, luego deberá editar el archivo /etc/rsyslog.conf.

nano /etc/rsyslog.conf

Descomenta las siguientes líneas:

module(load="imudp")
input(type="imudp" port="514")

Guarde y cierre el archivo, luego cree el archivo haproxy.conf para rsyslog con el siguiente comando:

nano /etc/rsyslog.d/haproxy.conf

Agregue las siguientes líneas:

local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

A continuación, inicie el servicio rsyslog y habilítelo para que se inicie al reiniciar el sistema:

systemctl start rsyslog
systemctl enable rsyslog

Finalmente, reinicie el servicio HAProxy para aplicar los cambios:

systemctl restart haproxy

También puede verificar el estado del servicio HAProxy con el siguiente comando:

systemctl status haproxy

Debería ver el siguiente resultado:

? haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-03 03:10:37 EDT; 1min 16s ago
  Process: 44032 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 44036 (haproxy)
    Tasks: 2 (limit: 12524)
   Memory: 3.1M
   CGroup: /system.slice/haproxy.service
           ??44036 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
           ??44111 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

Aug 03 03:10:36 RockyLinux8 systemd[1]: Starting HAProxy Load Balancer...
Aug 03 03:10:37 RockyLinux8 systemd[1]: Started HAProxy Load Balancer.

Configurar cortafuegos

A continuación, deberá configurar firewalld en todos los servidores y permitir el puerto 80 a través del firewall.

Puede ejecutar el siguiente comando para permitir el puerto 80:

firewall-cmd --permanent --add-port=80/tcp

A continuación, vuelva a cargar el servicio firewalld para aplicar los cambios.

firewall-cmd --reload

Configurar servidores back-end

A continuación, deberá instalar el servidor Apache en ambos servidores backend. Ejecute el siguiente comando para instalar el servidor Apache.

dnf install httpd -y

Una vez que se haya instalado el servidor Apache, inicie el servicio Apache y habilítelo para que se inicie al reiniciar el sistema:

systemctl start httpd
systemctl enable httpd

A continuación, deberá modificar el archivo index.html predeterminado en ambos servidores backend.

En el primer backend, edite el archivo index.html con el siguiente comando:

nano /usr/share/httpd/noindex/index.html

Elimine todas las líneas y agregue la siguiente línea:

Welcome to First Apache Web Server!

Guarde y cierre el archivo cuando haya terminado.

En el segundo backend, edite el archivo index.html con el siguiente comando:

nano /usr/share/httpd/noindex/index.html

Elimine todas las líneas y agregue la siguiente línea:

Welcome to Second Apache Web Server!

Guarde y cierre el archivo cuando haya terminado.

Verificar HAProxy

En este punto, HAProxy está configurado para reenviar todas las solicitudes entrantes a los servidores backend en función del algoritmo de equilibrio de carga. Ahora es el momento de comprobar si HAProxy funciona correctamente o no.

Abra su navegador web y escriba la IP HAProxy en la URL http://172.16.10.10. Debería ver su primera página del servidor web apache: Publicidad

primer servidor

A continuación, actualice la misma página nuevamente, debería ver su segunda página del servidor web apache:

Segundo servidor

Esto confirma que HAProxy funciona como se esperaba y distribuye el tráfico entre dos servidores backend.

Conclusión

¡Felicidades! ha instalado y configurado con éxito el balanceador de carga HAProxy en Rocky Linux 8. Ahora puede implementar HAProxy en el entorno de producción para lograr un alto rendimiento y escalabilidad. Asegúrese de seguir este tutorial de HAProxy paso a paso para configurar su primer servidor de balanceo de carga y mejorar la confiabilidad de su infraestructura.

Deja una respuesta

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