Cómo instalar y configurar HaProxy en Ubuntu Top 10.Top 10 LTS

Cómo instalar y configurar HaProxy en Ubuntu Top 10.Top 10 LTS
HaProxy es un paquete de código abierto y liviano 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 baja memoria y huella de CPU. En esta publicación, explicaremos cómo instalar y configurar HaProxy en un sistema Ubuntu.

Tenemos configurar 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 las distribuciones de Debian y Mint.

Detalles de la red

Usaremos tres servidores Ubuntu; Todo 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: web-server1, dirección IP: 192.168.72.158 (servidores de backend)
Nombre de host: web-server2, dirección IP: 192.168.72.159 (servidores de backend)

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

Configuraremos una máquina como equilibrador de carga y los otros 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 de backend que recibirán esas solicitudes reenviadas.

Así es como se ve nuestra configuración:

Configuración de servidores de servidores web-backend

En esta sección, configuraremos dos servidores web (servidor web y Web-server2) como nuestros servidores de backend.

En Web-server1 (192.168.72.158)

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

1. Configurar el archivo hosts

En servidor web, editar el /etc/huéspedes archivo:

$ sudo nano /etc /anfitriones

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

Nombre de host-haproxi IP-Address-of-Haproxy

En nuestro escenario, sería:

Haproxy 192.168.72.157

Configurar el servidor web de Apache

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

$ sudo apt install apache2

Luego habilite e inicie el servicio Apache utilizando los comandos a continuación en la terminal:

$ sudo systemctl habilita apache2
$ sudo systemctl iniciar apache2

Crear un archivo de índice para servidor web Usando el siguiente comando en la terminal:

$ Echo "

Hola! Este es WebServer1: 192.168.72.158

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

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

$ sudo UFW Permitir 80/TCP

Luego vuelva a cargar las configuraciones de firewall:

$ UFW recarga

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: // hostname-or-ip-address

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

$ curl

En el servidor web-2 192.168.72.159)

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

1. Configurar el archivo hosts

En Web-server2, editar el /etc/huéspedes archivo:

$ sudo nano /etc /anfitriones

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

Haproxy 192.168.72.157

2. Instale el servidor web de Apache

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

$ sudo apt install apache2

Luego habilite e inicie el servicio Apache utilizando los comandos a continuación en la terminal:

$ sudo systemctl habilita apache2
$ sudo systemctl iniciar apache2

Cree un archivo de índice para Web-server2 usando el siguiente comando en terminal:

$ Echo "

Hola! Este es WebServer2: 192.168.72.159

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

Permitir Apache en el firewall:

$ sudo UFW Permitir 80/TCP

y luego recargar configuraciones de firewall:

$ UFW recarga

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

http: // hostname-or-ip-address

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

$ curl

Ahora nuestros servidores web Apache están listos.

Configuración del servidor Balancer-Frontend de Balancer de carga de HaProxy

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

Sobre el Haproxi servidor (192.168.72.157), realice los pasos a continuación para configurar el equilibrador de carga.

Configurar el archivo hosts

Editar el /etc/huéspedes Archivo utilizando el siguiente comando en terminal:

$ sudo nano /etc /anfitriones

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

192.168.72.157 haproxy
192.168.72.158 Web-server1
192.168.72.159 Web-server2

Ahora guarde y cierre el /etc/huéspedes archivo.

Instalación del equilibrador de carga de Haproxy

Ahora en este paso, instalaremos el Haproxy en uno de nuestro servidor Ubuntu (192.168.72.157). Para hacerlo, actualice APT usando el siguiente comando en Terminal:

$ sudo apt-get actualización

Luego actualice los paquetes utilizando el siguiente comando:

$ sudo apt-get actualización

Ahora instale HaProxy usando el siguiente comando en la terminal:

$ sudo sudo apt install haproxy

Una vez que finalice la instalación del servidor HaProxy, puede confirmarlo utilizando el siguiente comando en terminal:

$ haproxy -v

Le mostrará la versión instalada de HaProxy en su sistema, lo que verifica que el haproxy se haya instalado correctamente.

Configuración de HaProxy como equilibrador de carga

En la siguiente sección, configuraremos HaProxy como un equilibrador de carga. Para hacerlo, editar el/etc/haproxy/haproxy.CFG archivo:

$ sudo nano /etc/haproxy/haproxy.CFG

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

El Frontend Web-Frontend En las líneas de configuración anteriores le dicen a HaProxy que escuche las solicitudes entrantes en el puerto 80 de 192.168.72.157 y luego reenvíelos a servidores de back -end configurados bajo el backend devolución de web. Al configurar, reemplace las direcciones IP con las direcciones IP relevantes de sus servidores web.

Configuración de Monitoreo 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:

ESTADAS DE ESCUCHA
Atar 192.168.72.157: 8080
modo http
Opción hacia adelante para
opción httpclose
Estadística habilitar
Las estadísticas muestran las leyes
Las estadísticas refrescan 5s
estadísticas uri /estadísticas
estadísticas reino haproxy \ estadísticas
Estadísticas Auth Kbuzdar: Kbuzdar #login usuario y contraseña para el monitoreo
estadísticas admin si es cierto
default_backend web-backend

La configuración anterior habilita el haproxy "estadísticas"Página usando el estadísticas directiva y lo asegura con http autenticación básica utilizando el nombre de usuario y la contraseña definidos por el Auth Stats directiva.

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

Ahora verifique el archivo de configuración utilizando el siguiente comando en terminal:

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

La siguiente salida muestra que las configuraciones son correctas.

Ahora para aplicar las configuraciones, reinicie el servicio HaProxy:

$ sudo systemctl reiniciar haproxy.servicio

Se detendrá y luego comenzará el servicio haproxy.

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

$ sudo systemctl status haproxy.servicio

El Activo (en ejecución) El estado en la siguiente salida muestra que el servidor HaProxy está habilitado y se ejecuta bien.

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

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

$ sudo systemctl inicio haproxy.servicio

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

$ sudo systemctl stop 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 habilita 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, ping ambos servidores web por sus direcciones IP o nombres de host.

$ ping hostname-or-ip-address

La siguiente salida muestra que el servidor HaProxy puede comunicarse con ambos servidores web.

Pruebe el proxy HA con 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 redondeo. Puede probar esto recargando 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 usar el nombre de host en lugar de la dirección IP del servidor HaProxy.

Prueba de proxy HA con curl

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

$ curl 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 cierto; hacer curl 192.168.72.157; dormir 1; hecho

Prueba de monitoreo de HaProxy

Para acceder a la página de monitoreo de HaProxy, escriba http: // seguido de la dirección IP/nombre de host del servidor haproxy y el puerto 8080/estadísticas:

http: // 192.168.72.157: 8080/estadísticas

o

http: // haproxy: 8080/estadísticas

Aparecerá el siguiente cuadro de autenticación. Ingresar el nombre de usuario y contraseña Has configurado anteriormente en las configuraciones y luego presiona DE ACUERDO.

Este es el informe de estadísticas para nuestro servidor HaProxy.

Allí tiene la instalación y la configuración del equilibrador de carga HaProxy en el sistema Linux. Acabamos de discutir la configuración y configuración básicas de HaProxy como un equilibrador de carga para los servidores web Apache. También observamos algunos comandos para administrar el servidor haproxy. Al final, probamos la carga equilibrada a través del navegador y el comando curl. Para obtener más información, visite la documentación oficial de HaProxy