cloud-riders.ES Azure,DevOps,GNU/Linux Pequeño compendio DevOps (VI)

Pequeño compendio DevOps (VI)Pequeño compendio DevOps (VI)

Hola a todos!

Sigo con mis historias de DevOps y en este caso sigo con Nginx, en este caso con la configuración de un balanceador de carga.

Vamos a ver rápidamente como configurar unos balanceadores de carga con proxy inverso en Nginx.

Es posible que con el tiempo añada esquemas, gráficos o dibujos, pero de momento soy un poco «casposo» y lo hago sin ellos.

Partimos de tres servidores con los siguientes datos:

  • Máquina 1 (M1) IP-ADD: 10.15.2.20
  • Máquina 2 (M2) IP-ADD: 10.15.2.21
  • Máquina 3 (M3) IP-ADD: 10.15.2.22

Para configurar la primera máquina (M1):

  • # yum -y install httpd
  • # systemctl enable httpd
  • # systemctl start httpd
  • # allow port 80 in firewall
  • # echo “Maquina1” > /var/www/html/index.html
  • vi /var/www/html/index.html (Introduciendo la configuración de Máquina 1).

Para configurar la segunda máquina (M2):

  • # yum -y install httpd
  • # systemctl enable httpd
  • # systemctl start httpd
  • # allow port 80 in firewall
  • # echo “Maquina2” > /var/www/html/index.html
  • # vi /var/www/html/index.html (Introduciendo la configuración de Máquina 2).

Configuración para la tercera máquina (M3):

  • # yum -y install nginx
  • # systemctl enable nginx
  • # systemctl start nginx
  • # allow port 80 in firewall
  • # vi /etc/nginx/nginx.conf (Debemos borrar todo lo que hay en la sección de HTTP).

Debemos definir un grupo de servidores web con una directiva en sentido ascendente y darle a este grupo un nombre que haga referencia a que son load balancers (ejemplo: myloadbal).

Upstream definirá un clúster al que se pueden enviar solicitudes de proxy.

Se usa comúnmente para definir un clúster de servidor web para balanceo de carga o un clúster de servidor de aplicaciones para enrutamiento/balanceo de carga.

La configuración de «nginx.conf» será similar a la siguiente:

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}

http {
log_format main ‘$remote_addr – $remote_user [$time_local] «$request» ‘
‘$status $body_bytes_sent «$http_referer» ‘
‘»$http_user_agent» «$http_x_forwarded_for»‘;
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
upstream myloadbal{
server IP_SERVIDORES:90;
server IP_SERVIDORES ;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
location / {
proxy_pass http://myloadbal;
}
}
}

Seguimos mañana con bases de datos y demás temas relacionados.

Gracias

Un saludo

Etiquetas: ,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Related Post