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

Instalar HAProxy en CentOS 8 - ¿Guía paso a paso?

HAProxy es un servidor proxy y equilibrador de carga de alta disponibilidad HTTP/TCP gratuito. Distribuye las solicitudes entre múltiples servidores para mitigar los problemas que resultan de la falla de un solo servidor. HA Proxy es utilizado por varios sitios web de alto perfil, incluidos GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter y Tuenti, y se utiliza en el producto OpsWorks de Amazon Web Services.

Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con la configuración de HAProxy.

En este contexto, veremos cómo instalar HAProxy en su sistema CentOS 8.


Pasos para instalar y configurar HAProxy en CentOS 8

1. Realice la actualización del sistema

Primero, comencemos asegurándonos de que su sistema esté actualizado:

$ sudo clean all
$ sudo dnf update


2. Instale HAProxy en el sistema

HAProxy está disponible en el CentOS 8 predeterminado. Ahora use el siguiente comando dnfa para instalar HAProxy:

$ sudo dnf install haproxy

A continuación, tenemos que verificar que HAProxy se inicia cada vez que reiniciamos nuestro servidor. Podemos lograr eso con el siguiente comando chkconfig:

$ chkconfig haproxy on


3. Configurar HAProxy

Vamos a crear un archivo de configuración /etc/haproxy/haproxy.cfg que contiene los ajustes y configuraciones necesarios:

$ sudo nano /etc/haproxy/haproxy.cfg

Introduzca lo siguiente en el archivo:

global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    stats socket /var/lib/haproxy/stats
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
frontend main
    bind *:5000
    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             app
backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check
backend app
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check

Puede ver los detalles de configuración y más información en esta URL. Una vez que haya configurado HAProxy, es hora de iniciar el servicio:

$ sudo systemctl start haproxy
$ sudo systemctl enable haproxy


4. Configurar cortafuegos

Agregaremos HAProxy al firewall de CentOS 8 y actualizaremos las reglas con los siguientes comandos:

$ sudo firewall-cmd --add-port=8088/tcp --permanent
$ sudo firewall-cmd --reload


5. Configurar el registro HAProxy

Para configurar el registro estándar de HAProxy, edite /etc/rsyslog.conf y habilite la recepción UDP Syslog en el puerto 514:

$ sudo nano /etc/rsyslog.conf
...
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")
...
*.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages
local2.* /var/log/haproxy.log
...

Luego, guarde el archivo de configuración y ejecute el siguiente comando para verificar si hay errores:

$ rsyslogd -N1
$ sudo systemctl restart rsyslog haproxy


6. Configure Apache X-Forwarded-For Logging en servidores backend

Ahora iniciamos sesión en los servidores backend y configuramos Apache para registrar encabezados X-Forwarded-For. La línea predeterminada que estamos cambiando es:

...
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
...

Edite esta línea para que se vea así:

...
LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
...

Guarde el archivo y reinicie Apache:

$ apachectl configtest
$ sudo systemctl restart httpd


¿Cómo probar el balanceador de carga HAProxy?

Para verificar que HAProxy puede equilibrar la carga de las solicitudes HTTP, navegue hasta el navegador y acceda a HAProxy utilizando el nombre de host o la dirección IP.


¿Cómo reiniciar HAProxy?

Después de configurar la capa 4 o la capa 7, reinicie HAProxy con el siguiente comando:

$ systemctl restart haproxy

Un reinicio exitoso no generará resultados, lo que significa que HAProxy está funcionando con los cambios que acaba de implementar.



Cent OS
  1. Instalar Vivaldi Browser en CentOS 8 - ¿Una guía paso a paso?

  2. Instalar Transmission en CentOS 8 - ¿Una guía paso a paso?

  3. Instalar Mattermost en CentOS 8:¿una guía paso a paso?

  4. Instalar Microsoft SQL Server en CentOS 8:¿una guía paso a paso?

  5. Instale Vtiger CRM en CentOS 8:¿una guía paso a paso?

Guía paso a paso para instalar CentOS 8 (con capturas de pantalla)

Instalar Foxit Reader en CentOS 8 - ¿Guía paso a paso?

Instalar Steam en CentOS 8 - ¿Guía paso a paso?

Instalar Discord en CentOS 8:¿una guía paso a paso?

Instalar Chromium en CentOS 8:¿una guía paso a paso?

Cómo instalar HAProxy en CentOS 8