Cómo configurar Nginx como un equilibrador de carga con ejemplo

Cómo configurar Nginx como un equilibrador de carga con ejemplo

Nginx es un popular software de servidor web de código abierto que también se puede utilizar como equilibrador de carga. El equilibrio de carga es una técnica que distribuye el tráfico entrante en múltiples servidores para mejorar el rendimiento, aumentar la disponibilidad y evitar sobrecargar cualquier servidor único. En este artículo, discutiremos cómo configurar Nginx como un equilibrador de carga con un ejemplo.

Para configurar Nginx como un equilibrador de carga requirió los siguientes pasos:

  1. Instale el servidor web Nginx
  2. Configurar el flujo ascendente y agregar todos los nodos de los servidores de backend
  3. Configurar la ubicación de proxy_pass con la corriente ascendente
  4. Reinicie el servidor NGINX para aplicar cambios
  5. Pruebe la configuración del equilibrador de carga Nginx

Sigamos los pasos uno por uno para completar la configuración de Nginx para actuar como un equilibrador de carga.

Paso 1: Instale Nginx

El primer paso es instalar Nginx en el servidor que actuará como el equilibrador de carga. Nginx se puede instalar en la mayoría de las distribuciones de Linux utilizando el Administrador de paquetes. Por ejemplo, en Ubuntu, puede ejecutar el siguiente comando:

actualización de sudo apt-get  sudo apt-get install nginx  

En los sistemas basados ​​en RHEL puede usar el siguiente comando para instalar Nginx:

sudo yum install nginx  

El sistema moderno con sede en RHEL utiliza el administrador de paquetes DNF.

Paso 2: Configurar servidores aguas arriba

El siguiente paso es definir los servidores que recibirán tráfico del equilibrador de carga. Estos servidores se conocen como servidores aguas arriba. Puede definirlos en el archivo de configuración de Nginx /etc/nginx/nginx.confusión. Abra el archivo en un editor de texto y agregue el siguiente código:

http ascensor myapp servidor 192.168.10.201; servidor 192.168.10.202;
123456http ascensor myapp servidor 192.168.10.201; servidor 192.168.10.202;

En este ejemplo, hemos definido un grupo aguas arriba llamado "Myapp" que incluye dos servidores: 192.168.10.201 y 192.168.10.202. Estos son los servidores que recibirán tráfico del equilibrador de carga.

Paso 3: Configurar el equilibrador de carga

Ahora que hemos definido nuestros servidores aguas arriba, podemos configurar el equilibrador de carga. Agregue el siguiente código al bloque HTTP en nginx.confusión:

http ascensor myapp servidor 192.168.10.201; servidor 192.168.10.202; servidor escuchar 80; ubicación/proxy_pass http: // myapp;
12345678910111213http ascensor myapp servidor 192.168.10.201; servidor 192.168.10.202; servidor escuchar 80; ubicación/proxy_pass http: // myapp;

En este código, hemos definido un bloque de servidor que escucha en el puerto 80 (el puerto HTTP predeterminado). La ubicación / bloque especifica la ruta de URL que debe enrutarse a los servidores aguas arriba. El proxy_pass La directiva le dice a Nginx que reenvíe las solicitudes entrantes al "Myapp" Grupo aguas arriba definimos anteriormente.

Paso 4: Reiniciar Nginx

Finalmente, reinicie Nginx para aplicar los cambios al archivo de configuración. Ejecute el siguiente comando:

servicio sudo nginx reiniciar  

Paso 5: Probar el equilibrador de carga

Para probar el equilibrador de carga, podemos usar un navegador web o una herramienta como Curl para enviar solicitudes HTTP al servidor. Cuando accedemos a la URL configurada en la ubicación / bloque, Nginx reenviará la solicitud a uno de los servidores aguas arriba en el "Myapp" grupo.

Si todo funciona correctamente, debería ver la respuesta de uno de los servidores aguas arriba. Puede confirmar que la carga se está equilibrando en ambos servidores actualizando la página varias veces y verificando la dirección IP del servidor que responde a cada solicitud.

Conclusión

Configuración de NGINX como un equilibrador de carga es un proceso sencillo que puede ayudar a mejorar el rendimiento y la disponibilidad de aplicaciones web. Al definir servidores aguas arriba y configurar el equilibrador de carga, puede distribuir el tráfico entrante en múltiples servidores y evitar sobrecargar cualquier servidor único.