Instale HaProxy para configurar el servidor de equilibrio de carga en Debian Top 10

Instale HaProxy para configurar el servidor de equilibrio de carga en Debian Top 10

El equilibrio de carga es la práctica más común de distribuir el tráfico web entrante entre múltiples servidores de fondo. Esto hace que la aplicación esté muy disponible incluso si algunos de los servidores caen por alguna razón. El equilibrio de carga aumenta la eficiencia y la confiabilidad de una aplicación web. Haproxy Load-Balancer se usa para el mismo propósito. Es el balancer de carga más utilizado en las industrias. Según el sitio web oficial, Haproxy es utilizado por compañías líderes como AWS, Fedora, Github y muchos más.

Haproxy o proxy de alta disponibilidad proporciona una alta disponibilidad y solución de proxy. Está escrito en c y funciona en capas de red y aplicación del modelo TCP/IP. Lo mejor es que tiene una edición comunitaria gratuita, y es una aplicación de código abierto. Funciona en sistemas operativos Linux, FreeBSD y Solaris. La edición Enterprise también está allí, pero tiene un precio.

En esta guía, veremos Cómo instalar HaProxy y configurar el servidor de equilibrio de carga en Debian 10.

Prerrequisitos:

  1. Acceso "sudo" a todas las máquinas y al conocimiento básico de ejecutar comandos en Linux Terminal.
  2. Direcciones IP privadas agregadas al balancer de carga y servidores de backend.
  3. Sistema operativo de Debian 10 instalado en todas las máquinas.

Instalación de HaProxy en Debian 10

Para nuestra guía, asumiremos la siguiente configuración de la dirección IP:

  1. Haproxy Load-Balancer 10.0.12.10
  2. Servidor web1: Dirección IP: 10.0.12.15
  3. Servidor web2: Dirección IP: 10.0.12.dieciséis

Paso 1. Actualizar el repositorio y los paquetes del sistema Debian

Primero, ejecute los siguientes comandos en todos los sistemas para actualizar los paquetes de software a los últimos.

$ sudo apt actualización
$ sudo apt ogradade -y

Paso: 2 Instale Nginx en los servidores de back-end

Prepare sus servidores de fondo instalando el servidor web NGINX en cada. También puede elegir instalar otros servidores web como Apache.

Para instalar NGINX, ejecute los siguientes comandos en cada servidor de back-end en su entorno:

$ sudo apt install nginx

Paso: 3 Después de que Nginx se instala en sus servidores de back-end, inicie el servicio, como se muestra a continuación:

$ sudo systemctl inicio nginx

CONSEJO: También podemos administrar el servidor web NGINX utilizando el siguiente comando:

$ sudo /etc /init.d/nginx "opción"
Opción: Iniciar Reiniciar el estado de reinicio Detener

Paso: 4 Crear páginas de índice personalizadas en la carpeta web de cada servidor web Nginx. Esto nos ayudará a distinguir qué servidor de back-end está sirviendo las solicitudes entrantes.

En cada servidor web, realice las siguientes tareas:

Suponga el archivo de índice original utilizando el siguiente comando:

$ sudo cp/usr/share/nginx/html/index.html/usr/share/nginx/html/index.html.oriente

Agregar texto personalizado al índice.archivo html. Estamos agregando la dirección IP de cada servidor web.

Para servidor web 1:

$ sudo echo "servidor web 1: 10.0.12.15 "| sudo tee/usr/share/nginx/html/index.html

Para el servidor web 2:

$ sudo echo "servidor web 2: 10.0.12.16 "| sudo tee/usr/share/nginx/html/index.html

También puede usar VI Editor si se siente más cómodo con eso. Esto se muestra a continuación:

$ sudo vi/usr/share/nginx/html/index.html

Cuando se abra el archivo, ingrese el texto y guarde el archivo.

Abra el archivo de host virtual predeterminado en el directorio "/etc/nginx/sites-disponible/".

$ sudo nano/etc/nginx/sites disponible/predeterminado

Ahora dentro del bloque del servidor, cambie la directiva raíz desde "/var/www/html" a "/usr/share/nginx/html".

Para verificar la configuración de Nginx, ejecute el siguiente comando:

$ sudo nginx -t

Paso 5: ahora reinicie el servicio usando el comando:

$ sudo systemctl reiniciar nginx

Puede verificar el estado de Nginx usando el siguiente comando:

$ sudo systemctl status nginx

Paso: 6 Para instalar HaProxy en Debian 10 (Buster), ejecute el siguiente comando en el balancer de carga.

$ sudo apt install haproxy -y

Consejo: Una vez que se instala HaProxy, puede administrar HaProxy a través de un script init. Para esto, establezca el parámetro "habilitado" en 1 en "/etc/default/haproxy" como se muestra a continuación:

$ sudo vi/etc/default/haproxy
Habilitado = 1

Ahora la siguiente opción se puede usar con un script init:

$ sudo Service HaProxy "Opción."
Opción: Iniciar Reiniciar el estado de reinicio Detener

Paso: 7 Ahora configure el balancer de carga haproxy editando el archivo de configuración predeterminado de HaProxy, I I, I.mi. "/Etc/haproxy/haproxy.CFG ". Para editar este archivo, ejecute el siguiente comando

$ sudo vi/etc/haproxy/haproxy.CFG

Consejo: Haga una copia de seguridad del archivo original para que en caso de que algo salga mal, estaremos todos seguros. Para realizar la copia de seguridad, use el siguiente comando:

$ sudo cp/etc/haproxy/haproxy.cfg/etc/haproxy/haproxy.CFG.oriente

Ahora vaya al final del archivo y edite la siguiente información:

frontend local_server
unir 10.0.12.10:80
modo http
Vautor_backend Webserver
servidor web de back -end
modo http
equilibrio Roundrobin
Opción hacia adelante para
http-request set-header x-forwardport %[dst_port]
http-request add-header x-forwardproto-propo https if ssl_fc
Opción Httpchk Head / HTTP / 1.1Rnhost: localhost
Servidor Web1 10.0.12.15:80
Servidor Web2 10.0.12.16:80

Nota: No olvide cambiar las direcciones IP en el archivo anterior a la que ha agregado a sus servidores web.

Paso: 8 Verifique la sintaxis de configuración del archivo anterior con el siguiente comando:

$ sudo haproxy -c -f/etc/haproxy/haproxy.CFG

Si todo sale bien, mostrará una salida como: "El archivo de configuración es válido."Si recibe algún error en la salida, vuelva a comprobar su archivo de configuración y verifique nuevamente.

Paso: 9 Ahora reinicie el servicio HaProxy para aplicar los cambios

$ sudo servicio haproxy reiniciar

Prueba de la configuración

Ahora es el momento de ver si nuestra configuración funciona correctamente. Ingrese la IP del sistema de equilibrio de carga en un navegador web (en nuestro caso, son 10.0.12.10) y actualice la página continuamente durante 2-4 veces para ver si el balancer de carga haproxy está funcionando correctamente. Debería ver diferentes direcciones IP o cualquier texto que haya ingresado en el índice.archivo html cuando continúa actualizando la página varias veces.

Otra forma de verificar es tomar un servidor web fuera de línea y verificar si otro servidor web está cumpliendo las solicitudes.

Eso es todo por ahora! Intente experimentar con HaProxy para obtener más información sobre cómo funciona. Delantero.gramo., puedes probar:

  • Integrando diferentes servidores web al lado de Nginx.
  • Cambiar el algoritmo de equilibrio de carga a algo más que redondo.
  • Configuración de HAProxy Health Check para determinar si un servidor de fondo está funcionando o no.
  • Aplicar sesiones adhesivas para conectar a un usuario al mismo servidor de fondo.
  • Uso de estadísticas de Haproxy para obtener información sobre el tráfico en los servidores.

Haproxy tiene una amplia documentación disponible tanto para la versión Comunitaria de HaProxy como para la versión de Haproxy Enterprise. Explore esta documentación para obtener más información sobre la mejora del rendimiento y la confiabilidad del entorno de su servidor.

Esta guía se ha realizado con éxito en Debian 10 (Buster). Intente instalar HaProxy en otras distribuciones de Debian como Ubuntu, Linux Mint, etc. No olvide compartir esta guía con otros.