nginx: crear un cluster balanceador de carga para servidores web

Todos sabemos que el sheriff de los servidores web es apache, pero hay otras alternativas que también funcionan muy bien, como pueden ser: lighttpd, cherokee o nginx.

En el caso que vamos a ver, crearemos un cluster con el servidor web nginx para balancear la carga de unos cuantos servidores web, clones entre si, para repartir la carga de datos.

Instalación de nginx y edición del fichero de configuración:

su
aptitude install nginx
nano /etc/nginx/nginx.conf

Ejemplo de configuración:

# usuario y grupo, ponedlo a vuestro gusto
user zital zital;
worker_processes 4;
pid /var/run/nginx.pid;

events {
	worker_connections 15;
	multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile off;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 3;
	types_hash_max_size 2048;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Mime types
	##

        #include /etc/nginx/mime.types;
        #default_type application/octet-stream;


	##
	# Virtual Host Configs
	##

	upstream appcluster {
		server localhost:81;
		server 127.0.0.1:81;
		server 10.126.2.52:80;
	}

	server {
		## aquí tu IP pública, ejemplo
		listen 10.126.252.10:80;
		server_name hispabyte.net hispabyte.net;

		location / {
			proxy_pass  http://appcluster;
		}
	}
}

Como vemos en el apartado upstream appcluster, escribiremos todos los servidores clones ahí para que luego nginx sepa a que máquinas hacer llegar la petición que le piden a él mismo.

		server localhost:81;
		server 127.0.0.1:81;
		server 10.126.2.52:80;

No olvidéis editar el usuario y el grupo de nginx en el fichero de configuración: /etc/nginx/nginx.conf

This entry was posted in Gnu / Linux, sysadmin, Tutoriales / Manuales, Webmaster and tagged , , , , , , . Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada.