En este tutorial, le mostraremos cómo instalar HAProxy en su CentOS 8. Para aquellos de ustedes que no lo sabían, HAProxy es un equilibrador de carga y proxy de alta disponibilidad HTTP/TCP gratuito. servidor. Distribuye las solicitudes entre varios servidores para mitigar los problemas resultantes de una sola falla del servidor. Varios sitios web de alto perfil, incluidos GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter y Tuenti, utilizan HA Proxy, y se utiliza en el producto OpsWorks de Amazon Web Services.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Te mostraré la instalación paso a paso de HAProxy en CentOS 8.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:CentOS 8.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar HAProxy en CentOS 8
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
sudo clean all sudo dnf update
Paso 2. Instalación de HAProxy en CentOS 8.
HAProxy está disponible en el CentOS 8 predeterminado, ahora use el siguiente dnf
un comando para instalar HAProxy:
sudo dnf install haproxy
Paso 3. Configuración de 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
Ingrese 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
Paso 4. Configure el 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
Paso 5. Configure 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
Paso 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 como:
... 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
Paso 7. Prueba del 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.
¡Felicitaciones! Ha instalado correctamente HAProxy. Gracias por usar este tutorial para instalar HAProxy en sus sistemas CentOS 8. Para obtener ayuda adicional o información útil, le recomendamos que visite el sitio web oficial de HAProxy.