Instalamos tres máquinas. Instalaremos HAproxy en un servidor y los servidores web Apache en dos servidores. Nuestro servidor HAproxy luego actúa como un equilibrador de carga y distribuye la carga entre los servidores web Apache.
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:Webserver1, dirección IP:192.168.72.158 (servidor backend)
Nombre de host:Webserver2, dirección IP:192.168.72.159 (servidor backend)
Configuraremos una computadora como balanceador de carga y las otras dos como servidores web. El servidor HAproxy será nuestro servidor front-end, tomará las solicitudes de los usuarios y las reenviará a los dos servidores web. Los servidores web son nuestros servidores backend que reciben estas solicitudes reenviadas.
Nuestra configuración se ve así:
Configurar servidores web servidores backend
En esta sección configuraremos dos servidores web (Webserver1 y servidor web2 ) como nuestros servidores backend.
En el servidor web 1 (192.168.72.158)
Complete 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 correspondientes de sus servidores web.
1. Configurar archivo de hosts
En Servidor web1, Edite el /etc/hosts Archivo:
$sudo nano /etc/hostsLuego agregue la entrada de nombre de host para . añadir proxy HA Servidores de la siguiente manera:
host-name-of-HAproxy IP-address-of-HAproxyEn nuestro escenario, sería:
HAproxy 192.168.72.1572. Configurar el servidor web Apache
Ahora instale el servidor web Apache usando el siguiente comando en la terminal. Visite también nuestra publicación sobre Cómo instalar el servidor web Apache en Linux.
$ sudo adecuado Instalar Apache2Luego habilite e inicie el servicio Apache usando los siguientes comandos en la terminal:
$ sudo systemctl activar apache2$ sudo systemctl iniciar apache2
Cree un archivo de índice para Webserver1 Use el siguiente comando en la terminal:
$eco”¡Hola! Este es el servidor web1:192.168.72.158
“ | sudo camiseta /wo/www/html/index.html
Si tiene un firewall ejecutándose en su sistema, debe permitir el tráfico de Apache a través de él:
$ sudo ufw permite 80/tcpA continuación, vuelva a cargar las configuraciones del cortafuegos:
recargar $ufwAhora intente acceder al sitio en su navegador web escribiendo https:// seguido de la dirección IP o el nombre de host de su servidor web.
https:// nombre de host o dirección IP
Alternativamente, puede usar el comando curl para probar la página web.
$lockEn el servidor web-2 192.168.72.159)
Complete 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 correspondientes de sus servidores web.
1. Configurar archivo de hosts
En servidor web2 , edite el /etc/hosts Archivo:
$sudo nano /etc/hostsLuego agregue la entrada de nombre de host para . añadir proxy HA Servidores de la siguiente manera:
HAproxy 192.168.72.1572. Instalar el servidor web Apache
Ahora instale el servidor web Apache usando el siguiente comando en la terminal.
$ sudo adecuado Instalar Apache2Luego habilite e inicie el servicio Apache usando los siguientes comandos en la terminal:
$ sudo systemctl activar apache2$ sudo systemctl iniciar apache2
Cree un archivo de índice para Webserver2 usando el siguiente comando en Terminal:
$eco”¡Hola! Este es el servidor web2:192.168.72.159
“ | sudo camiseta /wo/www/html/index.html
Permitir Apache en el cortafuegos:
$ sudo ufw permite 80/tcpy luego recargar las configuraciones del firewall:
recargar $ufwAhora intente acceder al sitio en su navegador web escribiendo https:// seguido de la dirección IP o el nombre de host.
https:// nombre de host o dirección IP
Alternativamente, puede usar el comando curl para probar la página web.
$lockAhora nuestros servidores web Apache están listos.
Configurar el servidor front-end del equilibrador de carga HAproxy
En esta sección, configuramos un balanceador de carga HAproxy para nuestros servidores web . Este servidor HAproxy actúa como un servidor front-end y acepta las solicitudes entrantes de los clientes.
En HAproxy Servidor (192.168.72.157 ), siga los pasos a continuación para configurar el balanceador de carga.
1. Configurar archivo de hosts
Edite el /etc/hosts archivo con el siguiente comando en la terminal:
$sudo nano /etc/hostsAgregue las siguientes entradas de nombre de host para ambos Apache Servidor web junto con su propio nombre de host:
192.168.72.157 HAproxy192.168.72.158 servidor web1
192.168.72.159 servidor web2
Ahora guarde y cierre /etc/hosts archivo.
Instalar balanceador de carga HAproxy
En este paso, ahora instalaremos HAproxy en uno de nuestros servidores Ubuntu (192.168.72.157). Para hacer esto, actualice apt con el siguiente comando en la terminal:
$ sudo apt-obtener actualizaciónLuego actualice los paquetes con el siguiente comando:
$ sudo apt-obtener actualizaciónAhora instale HAproxy con el siguiente comando en la terminal:
$ sudo sudo adecuado instalar feliz
Una vez que se complete la instalación del servidor HAproxy, puede confirmarlo con el siguiente comando en la terminal:
$ feliz -vLe mostrará la versión instalada de HAproxy en su sistema, confirmando que HAproxy se instaló correctamente.
Configurar HAproxy como equilibrador de carga
En la siguiente sección, configuramos HAproxy como balanceador de carga. Para hacer esto,Edite el archivo /etc/haproxy/haproxy.cfg Archivo:
$ sudo nano >etc/feliz/haproxy.cfgAgregue las siguientes líneas al archivo haproxy.cfg, reemplazando las direcciones IP con sus propias direcciones IP.
?El Frontend Web Frontend en las líneas de configuración anteriores, se le indica a HAproxy que escuche las solicitudes entrantes en el puerto 80 de 192.168.72.157 y luego reenviarlos a los servidores back-end que se ejecutan bajo el . están configurados backend Backend web . Durante la configuración, reemplace las direcciones IP con las direcciones IP correspondientes de sus servidores web.
Configurar el 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 al archivo de configuración en /etc/haproxy/haproxy.cfg :
escuche las estadísticasvincule 192.168.72.157:8080
modo http
opción reenviar
opción httpclose
habilite estadísticas
estadísticas muestre leyendas
actualización de estadísticas 5s
stats /stats
stats realm haproxy stats
stats auth kbuzdar:kbuzdar #login usuario y contraseña para monitorear
stats admin if TRUE
default_backend web backend
La configuración anterior habilita el HAproxy "Estadísticas “ Página Estadísticas política y asegúrela con http Autenticación básica con nombre de usuario y contraseña obtenidos de Autenticación de estadísticas Política.
Cuando haya terminado con las configuraciones, guarde y cierre el archivo haproxy.cfg.
Ahora revisa el archivo de configuración usando el siguiente comando en la terminal:
$ feliz -C -F /etc/feliz/haproxy.cfgEl siguiente resultado muestra que las configuraciones son correctas.
Ahora, para aplicar las configuraciones, reinicie el servicio HAproxy:
$ sudo systemctl reiniciar haproxy.serviceSe detiene y luego inicia el servicio HAproxy.
Para verificar el estado del servicio HAproxy, el comando es:
$ sudo systemctl-status haproxy.serviceEl activo (en curso) El estado en el siguiente resultado indica que el servidor HAproxy está habilitado y funcionando correctamente.
Aquí hay algunos otros comandos para administrar el servidor HAproxy:
Para iniciar el servidor HAproxy, el comando es:
$ sudo systemctl start haproxy.servicioPara detener el servidor HAproxy, el comando es:
$ sudo systemctl detener haproxy.servicioSi desea desactivar temporalmente el servidor HAproxy, el comando es:
$ sudo systemctl deshabilitar haproxy.servicePara volver a habilitar el servidor HAproxy, el comando es:
$ sudo systemctl habilitar haproxy.servicioProbar proxy HA
Antes de probar la configuración de HAproxy, asegúrese de tener conectividad con los servidores web. Desde su servidor HAproxy, haga ping a ambos servidores web utilizando sus direcciones IP o nombres de host.
$ anillo de nombre de host o dirección IPEl siguiente resultado muestra que el servidor HAproxy puede llegar a ambos servidores web.
Pruebe el proxy HA con un navegador web
Ahora abra cualquier navegador web en su servidor HAproxy y escriba https:// seguido de la dirección IP del servidor HAproxy, que en nuestro caso es 192.168.72.157.
https://192.168.72.157El servidor HAproxy envía alternativamente la solicitud a ambos servidores web en un procedimiento de turno rotativo. Puede probar esto recargando la página web varias veces.
Esta es la respuesta que recibimos cuando vimos por primera vez el https://192.168.72.157:
Esta es la respuesta que obtuvimos al recargar la página web:
También puede usar el nombre de host en lugar de la dirección IP del servidor HAproxy.
Pruebe el proxy HA con curl
También puede usar el comando curl en Linux para probar la configuración de HAproxy. Abra la terminal y escriba curl seguido de la dirección IP o el nombre de host del servidor HAproxy.
$ rizos 192.168.72.157o
$ curl HAproxyEjecute 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 curl 192.168.72.157; dormir 1; hizo
Prueba de supervisión de HAproxy
Para acceder a la página de supervisión de HAproxy, escriba https:// seguido de la dirección IP/nombre de host del servidor HAproxy y el puerto 8080/stats:
https://192.168.72.157:8080/Estadísticaso
https://HA-Proxy:8080/EstadísticasAparecerá el siguiente cuadro de autenticación. Introduzca el nombre de usuario y contraseña configurado previamente en las configuraciones, luego presione OK .
Este es el informe de estadísticas de nuestro servidor HAproxy.
Ahí tienes la instalación y configuración del HAproxy Load Balancer en el sistema Linux. Acabamos de discutir la instalación y configuración básicas de HAproxy como 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, consulte la documentación oficial de HAproxy