Nginx permite balancear la carga entre distintos servidores backend cuando esta funcionando en modo proxy. Aqui pongo una configuracion de proxy para nginx que pueden ser utiles para tener a nginx como balanceador:
upstream servidores { server 127.0.0.1 weight=5 max_fails=2 fail_timeout=10s; server 127.0.0.1:80 weight=5 max_fails=2 fail_timeout=10s; server localhost:80 weight=5 max_fails=2 fail_timeout=10s; } server { server_name www.tudominio.tld otrohost.tudominio.tld otrodominio.tld; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://servidores; } }
El parametro de configuracion Weight, que por omision es «1», indica cuantas peticiones seguidas se dirigiran a ese backend. Si es 5, pues mandará 5 a ese, luego 5 al siguiente, y asi.
El parametro fail_timeout indica el tiempo que esperara a enviar peticiones a un backend tras detectar un fallo y considerarlo caido.
El parametro max_fails indica cuantas veces ha de dar error el backend para marcarlo como caido.
No olvides hacer coincidir el nombre de los backends (en verde) y ajustar lo que esta en rojo a tu configuracion personal.
Mas info en:
Explicacion sobre parametros para el backend
Web oficial de Nginx