GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar HAProxy en CentOS 8 / RHEL 8

HAProxy significa High Availability Proxy, es una herramienta de equilibrio de carga de código abierto y gratuita que permite equilibrar el tráfico entrante (TCP y basado en HTTP ) mediante la distribución a través de los servidores back-end utilizando diferentes criterios.

En otras palabras, podemos decir que HAProxy se usa para proporcionar tolerancia a fallas y alta disponibilidad en caso de que un nodo reciba demasiadas solicitudes simultáneas. Es utilizado por los sitios web más famosos como GitHub, Stack Overflow y Tumbler.

En este artículo, analizaremos cómo instalar y configurar HAProxy en CentOS 8/RHEL 8 para servidores web Nginx. Los siguientes son los detalles de la configuración de mi laboratorio haproxy,

  • Servidor HAProxy:192.168.1.10 (haproxy-centos8)
  • Servidor Nginx 1:192.168.1.11 (nginx-node01)
  • Servidor Nginx 2:192.168.1.12 (nginx-node01)

Pasemos a los pasos de instalación y configuración de HAProxy en CentOS 8/RHEL 8

Paso:1) Actualice el archivo /etc/hosts de su servidor HAProxy

Inicie sesión en su sistema CentOS 8 o RHEL 8 donde instalará haproxy, agregue las siguientes líneas en el archivo /etc/hosts,

192.168.1.10    haproxy-centos8
192.168.1.11    nginx-node01
192.168.1.12    nginx-node02

Después de actualizar el archivo de hosts, asegúrese de poder hacer ping a los nodos de Nginx,

Paso:2) Instalar y configurar HAProxy en CentOS 8/RHEL 8

El paquete Haproxy está disponible en los repositorios de paquetes predeterminados de CentOS 8 y RHEL 8, por lo que se puede instalar fácilmente con el comando dnf. Pero se recomienda actualizar su sistema antes de instalar haproxy. Así que ejecuta el siguiente comando,

[email protected] ~]# dnf update -y
[email protected] ~]# reboot

Ahora use el siguiente comando dnf para instalar haproxy,

[[email protected] ~]# dnf install haproxy

Una vez que haproxy se haya instalado correctamente, configúrelo editando su archivo de configuración “/etc/haproxy/haproxy.cfg “.

Antes de editar el archivo, siempre es una buena práctica hacer una copia de seguridad del archivo original, ejecute el siguiente comando,

[[email protected] ~]# cd /etc/haproxy/
[[email protected] haproxy]# cp haproxy.cfg haproxy.cfg-org
[[email protected] haproxy]#

En el archivo de configuración, modificaremos dos secciones frontend y back-end . En la sección Frontend definimos la IP haproxy y su puerto, uri de estadísticas y nombre de backend. En la sección Backend, definimos el tipo de algoritmo de equilibrio de carga que usaremos, como round robin y conexión mínima, etc., y el nombre del servidor backend, las IP y el puerto, el ejemplo se muestra a continuación,

[[email protected] haproxy]# vi haproxy.cfg
…………………
frontend http_balancer
    bind 192.168.1.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

#    acl url_static       path_beg       -i /static /images /javascript /stylesheets
#    acl url_static       path_end       -i .jpg .gif .png .css .js
#    use_backend static          if url_static
    default_backend     nginx_webservers

backend nginx_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  nginx-node01  192.168.1.11:80  check
    server  nginx-node02  192.168.1.12:80  check
 ………………………………

Guardar y salir del archivo

Configure rsyslog para que almacene todas las estadísticas de HAProxy, edite el archivo de configuración de rsyslog “/etc/rsyslog.conf ” y descomente las líneas 19 y 20,

[[email protected] ~]# vi /etc/rsyslog.conf
……
module(load="imudp")
input(type="imudp" port="514")
……

Guarde y salga del archivo.

Ahora cree el archivo haproxy.conf para rsyslog, pegue las siguientes líneas,

[[email protected] ~]# vi /etc/rsyslog.d/haproxy.conf
local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

guardar y salir del archivo

Reinicie y habilite el servicio rsyslog para que esté disponible durante los reinicios

[[email protected] ~]# systemctl restart rsyslog
[[email protected] ~]# systemctl enable rsyslog

Ahora, finalmente, inicie haproxy, pero antes de iniciar el servicio haproxy, configure la siguiente regla de selinux,

[[email protected] ~]# setsebool -P haproxy_connect_any 1

Inicie y habilite haproxy usando debajo de los comandos systemctl

[[email protected] ~]# systemctl start haproxy
[[email protected] ~]# systemctl enable haproxy

Permita el puerto haproxy (en nuestro caso es 80) en el firewall del sistema operativo, ejecute el comando debajo de firewall-cmd,

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp
[[email protected] ~]# firewall-cmd --reload

Hasta ahora, la parte de instalación y configuración de HAProxy está completa, pasemos a los nodos Nginx,

Paso:3) Instalar NGINX e iniciar su servicio

Inicie sesión en ambos nodos nginx, instale nginx e inicie su servicio con los siguientes comandos.

# dnf install nginx -y
# systemctl start nginx
# systemctl enable nginx

Modifiquemos el archivo index.html del nodo respectivo,

Para nginx-node01

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node01 - Welcome to First Nginx Web Server" > index.html

Para nginx-node02

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node02 - Welcome to 2nd Nginx Web Server" > index.html

Permita el puerto Nginx (80) en el firewall del sistema operativo en ambos nodos usando el siguiente comando,

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

Paso:4) Pruebe si su HAProxy funciona correctamente o no

Inicie sesión en el servidor haproxy y ejecute el comando curl un par de veces para ver si el tráfico se distribuye por turnos

[[email protected] ~]# curl 192.168.1.10

Perfecto, esto confirma que haproxy funciona correctamente ya que distribuye el tráfico entre dos nodos,

Verifiquemos también desde el navegador web,

Lo anterior confirma que HAProxy se ha configurado correctamente en CentOS 8 y RHEL 8.

Puede ver el estado de su haproxy a través del navegador web, escriba url:http:///haproxy?stats

En nuestro caso, la URL será http://192.168.1.10/haproxy?stats

También podemos ver las estadísticas de HAProxy desde el archivo de registro ( /var/log/haproxy-access.log ).

Eso es todo de este tutorial, espero que estos pasos lo ayuden a configurar HAProxy en CentOS 8 y RHEL 8 sin problemas. Comparta sus valiosos comentarios y sugerencias.

Leer también :Cómo configurar Django Python Framework en CentOS 8


Cent OS
  1. Instalar y configurar HAProxy en RHEL 8 / CentOS 8 Linux

  2. Cómo instalar y configurar R en el sistema RHEL 8/CentOS 8 Linux

  3. Cómo instalar y configurar HAProxy en CentOS/RHEL 7/6

  4. CentOS/RHEL 7:Cómo instalar y configurar telnet

  5. Cómo instalar y configurar Samba en CentOS/RHEL

Cómo instalar y configurar Nagios Core en CentOS 8 / RHEL 8

Cómo instalar y configurar el servidor VNC en CentOS 7 / RHEL 7

Cómo instalar y configurar Jenkins en CentOS 8 / RHEL 8

Cómo instalar y configurar HAproxy en CentOS 6

Cómo instalar y configurar MariaDB en CentOS/RHEL 7

Cómo instalar y configurar el servidor VNC en CentOS/RHEL 8