GNU/Linux >> Tutoriales Linux >  >> Rocky Linux

Cómo instalar y configurar HAProxy en Rocky Linux 8

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 varios servidores backend.

En este artículo le mostramos cómo instalar HAProxy en Rocky Linux 8.

Para los fines 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

  • Un servidor que ejecuta RockyLinux 8.
  • Se configura una contraseña raíz en el servidor.

Instalar HAProxy

De forma predeterminada, el paquete HAProxy está disponible en el repositorio predeterminado de Rocky Linux 8. Puede 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

Modifique 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.1\r\nHost:\ 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

Descomente 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 backend

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 servidor, 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 de HAProxy en la URL http://172.16.10.10 . Debería ver la primera página de su servidor web apache:

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

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.


Rocky Linux
  1. Cómo instalar y configurar docker en Rocky Linux/Centos 8

  2. Cómo instalar y configurar Ansible en Rocky Linux/CentOS 8

  3. Cómo instalar y configurar el balanceador de carga HAProxy en Rocky Linux/Alma Linux 8

  4. Cómo instalar y configurar Memcached en Rocky Linux/Alma Linux 8

  5. Cómo instalar y configurar Squid Proxy en Rocky Linux/Alma Linux 8

Cómo instalar y usar Firewalld en Rocky Linux 8

Cómo instalar y configurar HAproxy en CentOS 6

Cómo instalar y configurar OpenCV en Rocky Linux 8.4

Cómo instalar Docker en Rocky Linux y AlmaLinux

Cómo instalar MongoDB en Rocky Linux y AlmaLinux

Cómo instalar Java 16 en Rocky Linux y AlmaLinux