Ubuntu

Cómo instalar y configurar HAproxy en Ubuntu 20.04 LTS

Cómo instalar y configurar HAproxy en Ubuntu 20.04 LTS
HAproxy es un paquete ligero y de código abierto que ofrece alta disponibilidad y equilibrio de carga para programas basados ​​en TCP y HTTP. Distribuye la carga entre los servidores web y de aplicaciones. HAproxy está disponible para casi todas las distribuciones de Linux. Es un equilibrador de carga ampliamente utilizado que es popular por su eficiencia, confiabilidad y poca memoria y espacio de CPU. En esta publicación, explicaremos cómo instalar y configurar HAproxy en un sistema Ubuntu.

Hemos configurado tres máquinas. Instalaremos HAproxy en un servidor y los servidores web Apache en dos servidores. Nuestro servidor HAproxy actuará como un equilibrador de carga y distribuirá la carga entre los servidores web Apache.

Nota: El procedimiento y los comandos mencionados en esta publicación se han probado en Ubuntu 20.04 LTS (Fosa focal). El mismo procedimiento también es válido para distribuciones Debian y Mint.

Detalles de la red

Usaremos tres servidores Ubuntu; todos en la misma red. Los detalles de nuestros servidores son los siguientes:

Nombre de host: HAproxy, dirección IP: 192.168.72.157 (servidor frontend)
Nombre de host: servidor web1, dirección IP: 192.168.72.158 (servidores backend)
Nombre de host: web-server2, dirección IP: 192.168.72.159 (servidores backend)

Nota: Debe tener privilegios de sudo en todos los servidores.

Configuraremos una máquina como balanceador de carga y las otras dos como servidores web. El servidor HAproxy será nuestro servidor front-end que recibirá las solicitudes de los usuarios y las reenviará a los dos servidores web. Los servidores web serán nuestros servidores backend que recibirán esas solicitudes reenviadas.

Así es como se ve nuestra configuración:

Configuración de servidores web: servidores backend

En esta sección, configuraremos dos servidores web (servidor web1 y servidor web2) como nuestros servidores backend.

En el servidor web1 (192.168.72.158)

Realice los siguientes pasos en su servidor web. Asegúrese de reemplazar los nombres de host y las direcciones IP con las direcciones IP y los nombres de host relevantes de sus servidores web.

1. Configurar archivo de hosts

En servidor web1, editar el / etc / hosts expediente:

$ sudo nano / etc / hosts

Luego agregue la entrada del nombre de host para HAproxy servidor de la siguiente manera:

nombre de host de HAproxy dirección IP de HAproxy

En nuestro escenario, sería:

HAproxy 192.168.72.157

2. Configurar el servidor web Apache

Ahora instale el servidor web Apache usando el siguiente comando en Terminal. También puede visitar nuestra publicación en Cómo instalar el servidor web Apache en Linux.

$ sudo apt instalar apache2

Luego habilite e inicie el servicio Apache usando los siguientes comandos en la Terminal:

$ sudo systemctl habilitar apache2
$ sudo systemctl iniciar apache2

Cree un archivo de índice para servidor web1 usando el siguiente comando en la Terminal:

$ echo "

Hola! Este es el servidor web1: 192.168.72.158

"| sudo tee / var / www / html / index.html

Si se está ejecutando un firewall en su sistema, deberá permitir el tráfico de Apache a través de él:

$ sudo ufw permiten 80 / tcp

Luego vuelva a cargar las configuraciones del firewall:

$ ufw recargar

Ahora intente acceder al sitio en su navegador web escribiendo http: // seguido de la dirección IP o el nombre de host de su servidor web.

http: // nombre-de-host-o-dirección-IP

Alternativamente, también puede usar el comando curl para probar la página web.

$ rizo

En el servidor web-2192.168.72.159)

Realice los siguientes pasos en su segundo servidor web. Asegúrese de reemplazar los nombres de host y las direcciones IP con las direcciones IP y los nombres de host relevantes de sus servidores web.

1. Configurar archivo de hosts

En servidor web2, editar el / etc / hosts expediente:

$ sudo nano / etc / hosts

Luego agregue la entrada del nombre de host para HAproxy servidor de la siguiente manera:

HAproxy 192.168.72.157

2. Instalar el servidor web Apache

Ahora instale el servidor web Apache usando el siguiente comando en Terminal.

$ sudo apt instalar apache2

Luego habilite e inicie el servicio Apache usando los siguientes comandos en la Terminal:

$ sudo systemctl habilitar apache2
$ sudo systemctl iniciar apache2

Cree un archivo de índice para web-server2 usando el siguiente comando en la Terminal:

$ echo "

Hola! Este es el servidor web2: 192.168.72.159

"| sudo tee / var / www / html / index.html

Permita Apache en el firewall:

$ sudo ufw permiten 80 / tcp

y luego vuelva a cargar las configuraciones del firewall:

$ ufw recargar

Ahora intente acceder al sitio en su navegador web escribiendo http: // seguido de la dirección IP o el nombre de host.

http: // nombre-de-host-o-dirección-IP

Alternativamente, puede usar el comando curl para probar la página web.

$ rizo

Ahora nuestros servidores web Apache están listos.

Configuración del servidor Frontend-balanceador de carga HAproxy

En esta sección, configuraremos un balanceador de carga HAproxy para nuestro servidores web. Este servidor HAproxy actuará como un servidor frontend y acepta solicitudes entrantes de los clientes.

Sobre el HAproxy servidor192.168.72.157), realice los siguientes pasos para configurar el equilibrador de carga.

1. Configurar archivo de hosts

Edite el / etc / hosts archivo usando el siguiente comando en la Terminal:

$ sudo nano / etc / hosts

Agregue las siguientes entradas de nombre de host para ambos apache servidores web junto con su propio nombre de host:

192.168.72.157 HAproxy
192.168.72.158 servidor web1
192.168.72.159 servidor web2

Ahora guarde y cierre el / etc / hosts expediente.

Instalación del equilibrador de carga HAproxy

Ahora, en este paso, instalaremos HAproxy en uno de nuestros servidores Ubuntu (192.168.72.157). Para hacerlo, actualice apt usando el siguiente comando en la Terminal:

$ sudo apt-get update

Luego actualice los paquetes usando el siguiente comando:

$ sudo apt-get upgrade

Ahora instale HAproxy usando el siguiente comando en la Terminal:

$ sudo sudo apt install haproxy

Una vez finalizada la instalación del servidor HAproxy, puede confirmarlo usando el siguiente comando en la Terminal:

$ haproxy -v

Le mostrará la versión instalada de HAproxy en su sistema que verifica que HAproxy se ha instalado correctamente.

Configuración de HAproxy como balanceador de carga

En la siguiente sección, configuraremos HAproxy como balanceador de carga. Para hacerlo, editar el / etc / haproxy / haproxy.cfg expediente:

$ sudo nano / etc / haproxy / haproxy.cfg

Agregue las siguientes líneas en el haproxy.cfg reemplazando las direcciones IP con sus propias direcciones IP.

La frontend frontend web en las líneas de configuración anteriores le dice a HAproxy que escuche las solicitudes entrantes en el puerto 80 de 192.168.72.157 y luego reenviarlos a los servidores backend configurados bajo la backend backend web. Durante la configuración, reemplace las direcciones IP con las direcciones IP relevantes de sus servidores web.

Configuración de la supervisión de HAproxy

Con el monitoreo de HAproxy, puede ver mucha información, incluido el estado del servidor, los datos transferidos, el tiempo de actividad, la tasa de sesión, etc. Para configurar el monitoreo de HAproxy, agregue las siguientes líneas en el archivo de configuración ubicado en / etc / haproxy / haproxy.cfg:

escuchar estadísticas
enlazar 192.168.72.157: 8080
modo http
opción adelante para
opción httpclose
habilitación de estadísticas
estadísticas show-legends
las estadísticas se actualizan 5 s
estadísticas uri / stats
stats reino Haproxy \ Estadísticas
stats auth kbuzdar: kbuzdar         #Login Usuario y Contraseña para la monitorización
administrador de estadísticas si es VERDADERO
default_backend web-backend

La configuración anterior habilita el HAproxy â € œestadisticasâ € página usando la estadisticas directiva y lo asegura con http autenticación básica utilizando el nombre de usuario y la contraseña definidos por el autenticación de estadísticas directiva.

Una vez que haya terminado con las configuraciones, guarde y cierre el haproxy.archivo cfg.

Ahora verifique el archivo de configuración usando el siguiente comando en la Terminal:

$ haproxy -c -f / etc / haproxy / haproxy.cfg

El siguiente resultado muestra que las configuraciones son correctas.

Ahora para aplicar las configuraciones, reinicie el servicio HAproxy:

$ sudo systemctl reiniciar haproxy.Servicio

Se detendrá y luego iniciará el servicio HAproxy.

Para verificar el estado del servicio HAproxy, el comando sería:

$ sudo systemctl status haproxy.Servicio

La activo (corriendo) El estado en el siguiente resultado muestra que el servidor HAproxy está habilitado y funcionando bien.

Aquí hay algunos otros comandos para administrar el servidor HAproxy:

Para iniciar el servidor HAproxy, el comando sería:

$ sudo systemctl start haproxy.Servicio

Para detener el servidor HAproxy, el comando sería:

$ sudo systemctl detener haproxy.Servicio

En caso de que desee deshabilitar temporalmente el servidor HAproxy, el comando sería:

$ sudo systemctl deshabilitar haproxy.Servicio

Para volver a habilitar el servidor HAproxy, el comando sería:

$ sudo systemctl habilitar haproxy.Servicio

Prueba HAproxy

Antes de probar la configuración de HAproxy, asegúrese de tener conectividad a los servidores web. Desde su servidor HAproxy, haga ping a ambos servidores web ya sea por sus direcciones IP o nombres de host.

$ ping nombre-host-o-dirección-IP

El siguiente resultado muestra que el servidor HAproxy puede llegar a ambos servidores web.

Probar HA Proxy usando un navegador web

Ahora en su servidor HAproxy, abra cualquier navegador web y escriba http: // seguido de la dirección IP del servidor HAproxy que en nuestro caso es 192.168.72.157.

http: // 192.168.72.157

El servidor HAproxy enviará alternativamente la solicitud a ambos servidores web en un método de operación por turnos. Puede probar esto volviendo a cargar la página web varias veces.

Esta es la respuesta que recibimos cuando visitamos el http: // 192.168.72.157 por primera vez:

Esta es la respuesta que recibimos cuando volvimos a cargar la página web:

También puede utilizar el nombre de host en lugar de la dirección IP del servidor HAproxy.

Prueba HA Proxy usando curl

También puede usar el comando curl en Linux para probar la configuración de HAproxy. Abra la Terminal y escriba rizo seguido de la dirección IP o el nombre de host del servidor HAproxy.

$ rizo 192.168.72.157

o

$ curl HAproxy

Ejecute el comando curl varias veces y verá la respuesta alternando entre ambos servidores web.

En lugar de ejecutar los comandos varias veces, también puede ejecutar el siguiente script de una línea para probar el servidor HAproxy:

$ mientras sea verdadero; hacer rizo 192.168.72.157; dormir 1; hecho

Prueba de supervisión de HAproxy

Para acceder a la página de supervisión de HAproxy, escriba http: // seguido de la dirección IP / nombre de host del servidor HAproxy y el puerto 8080 / stats:

http: // 192.168.72.157: 8080 / estadísticas

o

http: // HAproxy: 8080 / stats

Aparecerá el siguiente cuadro de autenticación. Ingresar el nombre de usuario y contraseña que ha configurado anteriormente en las configuraciones y luego presione OK.

Este es el informe de estadísticas de nuestro servidor HAproxy.

Allí tienes la instalación y configuración del balanceador de carga HAproxy en el sistema Linux. Acabamos de discutir la instalación básica y la configuración de HAproxy como un equilibrador de carga para servidores web Apache. También analizamos algunos comandos para administrar el servidor HAproxy. Al final, probamos el equilibrio de carga a través del navegador y el comando curl. Para obtener más información, visite la documentación oficial de HAproxy

Las mejores aplicaciones de mapeo de gamepad para Linux
Si te gusta jugar juegos en Linux con un gamepad en lugar de un sistema de entrada de teclado y mouse típico, hay algunas aplicaciones útiles para ti....
Herramientas útiles para jugadores de Linux
Si le gusta jugar juegos en Linux, es probable que haya utilizado aplicaciones y utilidades como Wine, Lutris y OBS Studio para mejorar la experiencia...
Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...