GeekClusterPi - Parte 4: Instalación Balanceador y Servidor Web

Categoría: GeekClusterPi Creado: Lunes, 22 Mayo 2017 Publicado: Lunes, 22 Mayo 2017 Escrito por Francisco Javier Sánchez Gragera

 En el artículo anterior vimos cómo instalar el sistema operativo DietPi y la herramienta webmin, que nos ofrece una interfaz web para administrar la configuración del sistema. Estos dos componentes forman la parte común de la instalación. Procederemos ahora a instalar el software específico del balanceador y de los servidores web. Empecemos con el balanceador.

 

Balanceador http:

La primera Orange Pi Zero será el balanceador web. Ya tenemos asignada la ip 192.168.1.21 y el hostname OPI_00.

Para realizar el balanceado he elegido haproxy, que es una solución gratuita, rápida y fiable que ofrece alta disponibilidad , equilibrio de carga y proxy.

Interfaz Haproxy

 

Haproxy se incluye en la lista de programas de Dietpi, por lo que realizaremos la instalación con "dietpi-software"

  1. Conectamos con SSH: A través de la aplicación de windows putty conectamos con la ip 192.168.1.20, puerto 22, usuario root y la contraseña del sistema.
  2. Instalamos HAProxy con dietpi-software: Una vez autenticados en el sistema, ejecutamos el comando "dietpi-software". Como vimos anteriormente para webmin, debemos seleccionar Software Optimizado, marcar HAProxy, y arrancar la instalación. Es posible que el sistema se reinicie tras el proceso.
  3. Configurar HAProxy: Una vez instalado el programa, debemos editar el fichero de configuración de HAProxy (manual oficial):
    1. Abrir haproxy.cfg en modo edición mediante ssh: nano /etc/haproxy/haproxy.cfg
    2. Apartado frontend localnodes, dejar como está, redirigiendo el tráfico por el puerto 80.
      • bind *:80
      • mode http
      • default_backend nodes
    3. Apartado backend nodes, aquí definiremos los nodos con su ip.
      • mode http
      • balance roundrobin
      • option forwardfor
      • http-request set-header X-Forwarded_Port %[dst_port]
      • http-request add-deader X-Forwarded-Porto https if { ssl_fc }
      • option httpchk HEAD / HTTP/1.1\r\nHost:localhost
      • server OPI_01 192.168.1.21:80 check
      • server OPI_01 192.168.1.22:80 check
      • server OPI_01 192.168.1.23:80 check
    4. Apartado #Admin web page, para configurar acceso a interfaz estadísticas. Por defecto se accede a la dirección del balanceador, puerto 1338, usuario admin y contraseña admin.
      • listen stats
      • bind *:1338
      • stats enable
      • stats uri /
      • stats hide-version
      • stats auth admin:admin

Con la instalación de HAProxy y su configuración terminamos con el balanceador.

 

Nodos Servidores Web:

Prepararemos tres servidores web idénticos, con direcciones ip distintas pero consecutivas, como explicamos en la instalación de dietpi y conforme a lo configurado en HAProxy. Al ser idénticos, lo más práctico es instalar por completo el primer servidor, clonar la tarjeta microSD a otra tarjeta igual, y luego ponerle la siguiente ip. El clonado de las tarjetas ip lo realizaremos con win32diskimager, y cambiaremos la dirección ip con "dietpi-config"

El balanceador HAProxy trabaja con distintos servidores web, pudiendo incluso combinar nodos con distintos sistemas operativos y servidores http. En mi proyecto he utilizado el stack LEMP (NGINX + MySQL + PHP):

  1. Conectamos con SSH: A través de la aplicación de windows putty conectamos con la ip 192.168.1.21, puerto 22, usuario root y la contraseña del sistema.
  2. Seleccionamos el stack de servidor web LEMP con dietpi-software: Tras conectarnos por ssh ejecutamos el comando "dietpi-software". Seleccionamos nuevamente Software Optimizado y marcamos LEMP.
  3. Agregamos PhpMyAdmin: Necesitaremos phpmyadmin para gestionar las bases de datos. Por supuesto se puede realizar la configuración sobre el fichero de texto directamente, pero los asistentes de phpmyadmin nos serán de gran utilidad.
  4. Instalamos el software seleccionado: Comenzamos la instalación y finalmente reiniciamos el sistema.
Instalar LEMP

Pasados este punto ya tenemos el servidor web funcionando, y si ponemos una web básica en "var/www/" ya podremos comprobar el funcionamiento del cluster. Ya solo nos queda sincronizar las bases de datos y los ficheros entre los tres nodos.

Anterior: Instalación DietPi y Webmin

Siguiente: Sincronización BBDD y Ficheros

 

Visto: 520

Escribir un comentario


Código de seguridad
Refescar