Cómo configurar Apache Equilibrador de carga

Apache El balanceador de carga ayuda a sus sitios web a manejar grandes cargas de tráfico sin problemas de rendimiento. Aquí se explica cómo configurar Apache Equilibrador de carga para su sitio web.

Apache Configuración del equilibrador de carga

Estos son los pasos para configurar Apache equilibrador de carga para su sitio web, en sistemas Ubuntu / Debian .

1. Instalación requerida Apache módulos

Requerimos 4 Apache módulos para configurar Apache equilibrador de carga: mod_proxy, mod_proxy_http, mod_proxy_balancer, mod_lbmethod_byrequests

  • mod_proxy es el principal módulo proxy que redirige las solicitudes y permite Apache para actuar como puerta de enlace a los servidores back-end
  • mod_proxy_http permite la compatibilidad con solicitudes HTTP de proxy
  • mod_proxy_balancer y mod_lbmethod_byrequests agregan capacidades de equilibrio de carga a Apache Servidor web.

Abra la terminal y ejecute los siguientes comandos para instalar el requisito previo Apache módulos.

                      $ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_balancer
$ sudo a2enmod lbmethod_byrequests

                    

Lectura adicional: Apache Configuración de proxy inverso

2. Reiniciar Apache Servidor

Reiniciar Apache Servidor para aplicar cambios

                      $ sudo service apache2 restart

                    

3. Configurar servidores back-end

Para configurar Apache Load Balancer, instalaremos el matraz y configuraremos 2 servidores para que se ejecuten en el puerto 8080 y el puerto 8081 como servidor backend.

                      $ sudo apt-get update
$ sudo apt-get -y install python3-pip
$ sudo pip3 install flask
                    

Flask viene con un archivo ~/backend.py listo para usar que devuelve “Hello World” al solicitar la página de inicio.

                      from flask import Flask
app = Flask(__name__)

@app.route("https://ubiq.co/")
def home():
    return 'Hello world!'

                    

Lectura adicional: Cómo instalar y configurar mod_pagespeed

Crearemos una copia para nuestro segundo servidor.

PS sudo cp ~/backend.py ~/backend1.py

Abra backend1.py y cambie el mensaje “Hello World” en la última línea a “Hello World 2”

                      from flask import Flask
app = Flask(__name__)

@app.route("https://ubiq.co/")
def home():
    return '
                      
                        Hello world 2!
                      
                      '
                    

Lectura adicional: cómo verificar si mod_expires está habilitado

Ejecutaremos el primer servidor de matraz.

                      $ FLASK_APP=~/backend.py flask run --port=8080 >/dev/null 2>&1 &
                    

Puede probar este servidor ejecutando curl mando

                      $ curl https://127.0.0.1:8080/
                    

Verá la salida como Hola Mundo!

Ejecutaremos el segundo servidor de matraz.

                      $ FLASK_APP=~/backend1.py flask run --port=8081 >/dev/null 2>&1 &
                    

Puede probar este servidor ejecutando curl mando

                      $ curl https://127.0.0.1:8081/
                    

Verá la salida como ¡Hola Mundo 2!

Ahora tenemos 2 servidores backend listos para manejar la carga. Estaremos distribuyendo la carga entre estos 2 servidores.

Lectura adicional: Cómo asegurar Apache con Let’s Encrypt en Debian 10

4. Configurar Apache Equilibrador de carga

Necesitamos modificar Apachearchivo de configuración predeterminado de para configurar Apache equilibrador de carga Abierto Apache configuración en editor de texto

                      $ sudo vi /etc/apache2/sites-available/000-default.conf

                    

Agregue las siguientes líneas a la etiqueta VirtualHost en Apache archivo de configuración.

                           <Proxy balancer://mycluster>
       BalancerMember https://127.0.0.1:8080
       BalancerMember https://127.0.0.1:8081
      </Proxy>
      ProxyPreserveHost On
      ProxyPass / balancer://mycluster/
      ProxyPassReverse / balancer://mycluster/
                    

Veamos las 3 directivas.

  • ProxyPreserveHost causas Apache para conservar el encabezado del host original y pasarlo a los servidores back-end.
  • ProxyPass es la principal directiva de proxy que establece que todo lo que está debajo de la raíz (/) debe dirigirse al clúster de back-end (lo hemos llamado mycluster) de servidores. Si Apache recibe solicitud de /exampleluego enviará la solicitud a https://your_backend_server/example
  • ProxyPassReverse dice Apache para modificar el encabezado de respuesta en la respuesta recibida del servidor back-end. Esto es útil en caso de que el servidor back-end devuelva una respuesta de redirección de ubicación, entonces el cliente será redirigido a Apache servidor proxy, en lugar de servidor back-end.
  • Enumeramos nuestros servidores back-end en la etiqueta Proxy denominada balancer://mycluster. Puedes cambiarlo por cualquier otra cosa. Dentro de esta etiqueta de proxy, enumeramos cada servidor backend como BalancerMember. Entonces, la etiqueta Proxy de su clúster puede tener uno o más BalancerMember
                      <VirtualHost *:80>
...
   <Proxy balancer://mycluster>
      BalancerMember https://127.0.0.1:8080
      BalancerMember https://127.0.0.1:8081
    </Proxy>
    ProxyPreserveHost On
    ProxyPass / balancer://mycluster/
    ProxyPassReverse / balancer://mycluster/
... 
</VirtualHost>
                    

Lectura adicional: Cómo habilitar mod_headers en Apache

5. Reiniciar Apache Servidor

Reiniciar Apache Servidor para aplicar cambios

                      $ sudo service apache2 restart

                    

Con suerte, lo anterior Apache la configuración del balanceador de carga lo ayudará a configurar Apache equilibrador de carga para su sitio web.

CodePre facilita la visualización de datos en minutos y el monitoreo en paneles en tiempo real. ¡Pruébalo hoy!

Acerca de CodePre

CodePre es una poderosa plataforma de informes y tableros para pequeñas y medianas empresas. Cree paneles, gráficos e informes para su negocio en minutos. Obtenga información de los datos rápidamente. ¡Pruébalo gratis hoy!

Related Posts