systemadmin.es > LAMP y web > Balanceador de carga con nginx

Balanceador de carga con nginx

El nginx se puede utilizar en modo proxy con varios servidores upstream a modo balanceador de carga.

Para definir un conjunto de servidores deberemos dar un nombre al conjunto upstream como el siguiente:

    upstream tomcats
    {
	server 192.168.121.197:8080;
	server 192.168.121.54:8080;
    }

A continuación deberemos indicar en la directiva proxy_pass el nombre que le hayamos dado al conjunto de server que queramos balancear:

        location / {
            proxy_pass         http://tomcats;
        }

        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

De esta forma el nginx actuará como un balanceador round-robin. Si queremos que se balancee la carga según la IP origen deberemos añadir la directiva ip_hash en la definición del upstream:

    upstream tomcats
    {
	ip_hash;
	server 192.168.121.197:8080;
	server 192.168.121.54:8080;
    }

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>