HAProxy

Instale HAProxy para configurar el servidor de equilibrio de carga en Debian 10

Instale HAProxy para configurar el servidor de equilibrio de carga en Debian 10

El equilibrio de carga es la práctica más común de distribuir el tráfico web entrante entre varios servidores back-end. Esto hace que la aplicación sea altamente disponible incluso si algunos de los servidores caen por alguna razón.  El equilibrio de carga aumenta la eficiencia y confiabilidad de una aplicación web. El equilibrador de carga HAProxy se utiliza para el mismo propósito. Es el equilibrador de carga más utilizado en las industrias. Según el sitio web oficial, HAProxy es utilizado por empresas líderes como AWS, Fedora, Github y muchas más.

HAProxy o proxy de alta disponibilidad proporciona una solución de alta disponibilidad y proxy. Está escrito en C y funciona en las 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 empresarial también está ahí, pero tiene una etiqueta de precio.

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

Requisitos previos:

  1. Acceso "sudo" a todas las máquinas y conocimientos básicos de ejecución de comandos en la terminal de Linux.
  2. Direcciones IP privadas agregadas al equilibrador de carga y servidores backend.
  3. Sistema operativo 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 dirección IP:

  1. Balanceador de carga HAProxy 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 al último.

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

Paso: 2 Instale Nginx en servidores back-end

Prepare sus servidores back-end instalando el servidor web Nginx en cada. También puede optar por instalar otros servidores web como apache.

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

$ sudo apt install nginx

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

$ Sudo systemctl iniciar nginx

INCLINAR: También podemos administrar el servidor web nginx usando el siguiente comando:

$ sudo / etc / init.d / nginx "opción"
opción: iniciar recarga reiniciar estado detener

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

En cada servidor web, realice las siguientes tareas:

Haga una copia de seguridad del archivo de índice original usando el siguiente comando:

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

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

Para el 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 el editor vi 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-available /".

$ sudo nano / etc / nginx / sites-available / default

Ahora, dentro del bloque del servidor, cambie la directiva raíz de "/ 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 estado nginx

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

$ sudo apt install haproxy -y

Consejo: Una vez que HAProxy está instalado, puede administrar HAProxy a través de un script de inicio. Para ello, 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 utilizar con un script de inicio:

$ sudo service haproxy "opción."
opción: iniciar recarga reiniciar estado detener

Paso: 7 Ahora configure el balanceador de carga HAProxy editando el archivo de configuración predeterminado de haproxy, 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, estemos todos a salvo. Para realizar la copia de seguridad, use el siguiente comando:

$ sudo cp / etc / haproxy / haproxy.cfg / etc / haproxy / haproxy.cfg.orig

Ahora ve al final del archivo y edita la siguiente información:

frontend Local_Server
enlazar 10.0.12.10:80
modo http
servidor web default_backend
servidor web backend
modo http
equilibrio redondo
opción adelante para
http-request set-header X-Forward-Port% [dst_port]
http-request add-header X-Fordered-Proto 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 por 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 va bien, mostrará un resultado como: "El archivo de configuración es válido."Si obtiene algún error en la salida, vuelva a verificar su archivo de configuración y verifíquelo nuevamente.

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

$ sudo service haproxy reiniciar

Prueba de la configuración

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

Otra forma de comprobarlo es desconectar un servidor web y comprobar si otro servidor web está atendiendo las solicitudes.

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

HAProxy tiene una amplia documentación disponible tanto para la edición comunitaria HAProxy como para la versión empresarial HAProxy. Explore esta documentación para obtener más información sobre cómo mejorar el rendimiento y la confiabilidad de su entorno de servidor.

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

Emule los clics del mouse colocando el mouse con Clickless Mouse en Windows 10
El uso excesivo de un mouse o teclado en una postura incorrecta puede provocar muchos problemas de salud, como tensión, síndrome del túnel carpiano y ...
Agregue gestos del mouse a Windows 10 con estas herramientas gratuitas
En los últimos años, las computadoras y los sistemas operativos han evolucionado enormemente. Hubo un momento en que los usuarios tenían que usar coma...
Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...