SlideShare una empresa de Scribd logo
1 de 30
• NGINX COMO BALANCEADOR DE CARGA Y
SERVIDOR WEB, DynDNS, UNA PÁGINA WEB CON SSL
Y PHP A TRAVÉS DE UN CLÚSTER MYSQL DE ALTA
DISPONIBILIDAD CREADO CON MYSQL-SHELL.
PRESENTACIÓN
EXPLICACIÓN
¿Qué es Nginx?
Nginx es un servicio web y proxy inverso open source.
Nginx como servicio web se usará en los todos los nodos. Nginx en su forma de servidor web funciona de
forma análoga a otras tecnologías web como apache.
Pero en este proyecto también vamos a usar Nginx como balanceador de carga
como veremos en la siguiente diapositiva
Nginx
EXPLICACIÓN
¿Qué es un Balanceador de carga?
Clúster
Balanceador
de carga
Servidor web w101
Servidor web w201
Un balanceador de carga es un
dispositivo ya sea hardware o
software, como es este caso, que
cuando recibe una petición, la
balancea o redirige a otros
equipos que se encargan de
procesar esas peticiones.
Petición web
Nginx
EXPLICACIÓN DynDNS
¿Qué es DynDNS?
Es un servicio que permite la asignación
de un nombre de dominio de Internet a
un sistema que no dispone de una
dirección ip estática.
En este proyecto se utilizará DynDNS
para asignar el nombre de dominio
pry2022jun.ddns.net de la página
https://www.noip.com/es-MX.
www
pry2022jun.ddns.net
Noip
25.27.128.126
25.27.128.125
Se actualiza cada 30 minutos
EXPLICACIÓN Let’s Encrypt
¿Qué es Let’s Encrypt
Let’s Encrypt es un tipo de certificado SSL
para asignar seguridad a las transacciones
que realizamos con una página web.
La ventaja de Let’s Encrypt es que es un
certificado que podemos adquirir de forma
gratuita.
En este proyecto lo usaremos para activar el
protocolo 443 y cifrar la información de
nuestra web.
PARTE TEÓRICA
• ¿Qué es un clúster?
Un clúster es un grupo de servidores que
trabajan como uno sólo. Los Clúster de
servidores pueden ser de hardware, en el
que cada nodo realizar los cálculos que se le
asignan, o de base de datos, en la que los
nodos comparten la información de una o
unas BBDD entre todos los nodos.
MySQL
clúster
Clúster
PARTE TEÓRICA
MySQL
clúster
Al completo
master01 worker101
worker201
LB
El usuario abre el navegador de su equipo y
realiza una petición al nodo ‘master01’ de
forma transparente al clúster. Las peticiones
se balancean a los nodos ‘worker101’ o a
‘worker201’. Independientemente del nodo
en el que se realice el cambio en la BBDD,
todos los nodos del clúster guardarán la
misma información. Es decir la BBDD estará
replicada.
El clúster será tolerante a fallos al estar en
modo multiprimario.
Funcionamiento del proyecto
Petición al puerto 443
PARTE TEÓRICA
INSTALACIÓN Y CONFIGURACIÓN DE MYSQL EN LOS EQUIPOS.
MySQL - Server
• Instalación de MySQL – SERVER.
• Asignación de contraseña a root.
• Creación del usuario admincluster con
permisos totales.
PARTE TEÓRICA Mysql_secure_
installation
• Comando para establecer una serie de
parámetros de seguridad básicos.
• Podemos configurar también una contraseña
para el usuario root.
• Imprescindible para llevar a cabo la
implementación del clúster con MySQL-Shell
PARTE TEÓRICA Acceso a todas las
direcciones ip a MySQL.
Paso básico en la configuración de MySQL para que sea accesible posteriormente desde la página web a
cualquier usuario.
• Cambiamos en el fichero
/etc/mysql/mysql.conf.d/mysqld.cnf la directiva
bind-address = 127.0.0.1 por 0.0.0.0
• Reiniciamos el servicio y lo activamos al inicio.
PARTE TEÓRICA
Herramienta para la clusterización de MySQL por medio de una API.
Instalación de MySQL -
Shell
• Tomar la dirección de la página web. • Descargarlo desde la terminal de Linux.
• Instalarlo con dpkg.
PARTE TEÓRICA
Configuración del clúster
con MySQL-Shell
1. Inicio de la herramienta:
2. Conexión:
3. Configurar instancia:
Se realiza con las 3 instancias
4. Creación del nombre del clúster:
5. Añadir instancias al clúster:
Se realiza con las 3 instancias
PARTE TEÓRICA Estado del clúster
Comandos para ver el estado del clúster
• Cambio del estado de los nodos a multiprimario
• Comandos para comprobar el estado del clúster:
PARTE TEÓRICA Estado del clúster
Nodo master01 Nodo worker101 Nodo worker201
Multiprimario Tolerancia a fallos
PARTE TEÓRICA BBDD de prueba
Fase necesaria para la parte teórica.
• Creación de la BBDD
Se puede realizar desde cualquier nodo.
• Comprobación desde los nodos
• Comprobación desde los nodos
PARTE TEÓRICA BBDD de prueba
Fase necesaria para la parte teórica.
• Creación de la tabla
Se puede realizar desde cualquier nodo.
• Ver la tabla desde otros nodos
• Insertar registros
• Ver los registros desde otro nodos
PARTE TEÓRICA Nginx servidor web
• Carpeta por defecto:
Instalación y configuración de LEMP (Linux, Enginex, MySQL y PHP)
• Configuración del fichero pry2022jun.ddns.net. Lo
copiamos del fichero ‘default’ .
Editamos el nuevo fichero creado cambiando estas directivas.
• Instalación de Nginx en los nodos worker.
• Server name
Se realiza en los dos nodos worker
• Cambiamos los permisos al directorio de la web
PARTE TEÓRICA PHP en Nginx
Instalación y configuración de LEMP (Linux, Enginex, MySQL y PHP)
• Instalación de PHP-FPM en los nodos worker.
Se realiza en los dos nodos worker
• Fichero /etc/nginx/sites-avaible/pry2022jun.ddns.net.
• Descomentamos estas directivas.
PARTE TEÓRICA PHP en Nginx
Instalación y configuración de LEMP (Linux, Enginex, MySQL y PHP)
Se realiza en los dos nodos worker
Otras configuraciones:
Otra configuración necesarias para que funcione php en los nodos worker es:
• En el mismo fichero en que trabajábamos antes
descomentamos estas líneas.
• Salimos y reiniciamos el servicio
PARTE TEÓRICA
PHP en Nginx y
tabla NAT
Activación de los nodos en el servidor web.
• Nos dirigimos al directorio /etc/nginx/sites-enabled
y creamos el enlace simbólico.
• Vamos a directorio /var/www/ y creamos un
directorio con este nombre;
Se realiza en los dos nodos worker
• Mapeamos el puerto 80 en el router para que
nuestra web funcione:
PARTE TEÓRICA
Nginx como
balanceador de carga
• Nos dirigimos al fichero /etc/nginx/nginx.conf y realizamos estos cambios dentro de la zona ‘http’:
• Acto seguido en el fichero /etc/nginx/sites-avaiable añadimos estas directivas dentro de la zona
server:
PARTE TEÓRICA DynDNS
• Vamos a la página y creamos un registro con estos datos:
• Realizamos una consulta al DNS:
• Configuramos DNS en nuestro router:
censurado
censurado
PARTE TEÓRICA SSH
• Instalamos SSH en los 3 nodos del clúster:
• Mapeamos los puertos en nuestro router:
PARTE TEÓRICA BBDD Definitiva
• Borrado de la tabla anterior
• Creamos la tabla
• Insertamos los registros de la nueva tabla
PARTE TEÓRICA BBDD Definitiva
• Vamos a los nodos y comprobamos que se
ven correctamente los cambios:
PARTE TEÓRICA SSL de Let’s Encrypt
El certificado SSL de Let’s Encrypt se instala de forma automática con Certbot. Estos son los pasos:
• Instalamos Cerbot. • Instalamos el certificado de Let’s Encrypt.
PARTE TEÓRICA
Cambios en Nginx
para SSL
El certificado SSL de Let’s Encrypt se instala de forma automática con Certbot. Estos son los pasos:
Estos pasos se realizarán en el nodo ‘master01’
• Editamos estas directivas en el archivo
/etc/nginx/sites-avaiable/default.
• Creamos el directorio para albergar la
web en el nodo ‘master01’.
• Cambiamos los permisos del
directorio para que todo el mundo
pueda conectar
PARTE PRÁCTICA
Funcionamiento de la
web y el clúster
• Todas las páginas que conforman la aplicación web tienen como nombre en la pestaña su función
en la aplicación web y el nombre de host para comprobar el balanceo.
PARTE PRÁCTICA
Funcionamiento de la
web y el clúster
• La web pry2022jun.ddns.net consta de páginas para añadir, modificar y eliminar registros.
• Vamos a los servidores y comprobamos que lo que muestra la web está guardado en ellos.
• Realizados alguno de estos cambios en la web, volvemos a los servidores y comprobamos si las
modificaciones de las páginas se han replicado en los nodos.
CONCLUSIONES FINALES
Ha sido un buen proyecto; y en realidad a pesar de los problemas encontrados que no han sido pocos y los ‘dolores
de cabeza’ que han producido estos errores, en realidad ha sido una buena experiencia de la que nos podemos llevar
nuevos conocimientos que se podrán aportar a futuros trabajos.
Algo por lo que no me ha gustado tener que realizar este proyecto es porque sólo se entiende la informática y mucho
más en sistemas, como un trabajo en equipo y el tener que verse solo buscando documentación, realizando las
pruebas, encontrándose y superando errores.
No obstante, y en líneas generales me quedo con un resultado positivo de esta experiencia.

Más contenido relacionado

Similar a BORJA_ESCOLAR_COLADO_TFC_2022.pptx

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverEnrique Catala Bañuls
 
Taller sistemas distribuidos sobre Windows usando VMWare
Taller sistemas distribuidos sobre Windows usando VMWareTaller sistemas distribuidos sobre Windows usando VMWare
Taller sistemas distribuidos sobre Windows usando VMWareDamian Barrios Castillo
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4pacvslideshare
 
Oracle 11g galo saquinaula
Oracle 11g galo saquinaulaOracle 11g galo saquinaula
Oracle 11g galo saquinaulaGalo Saquinaula
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en WindowsErick Cruz
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetesjdezine
 
Luis manuel negrete olivares 6 f
Luis manuel negrete olivares 6 fLuis manuel negrete olivares 6 f
Luis manuel negrete olivares 6 fackroes
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1pacvslideshare
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindioSantiago Bernal
 
AWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nubeAWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nubeAmazon Web Services LATAM
 
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. Amazon Web Services
 

Similar a BORJA_ESCOLAR_COLADO_TFC_2022.pptx (20)

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
 
Charter
CharterCharter
Charter
 
Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008
 
Taller sistemas distribuidos sobre Windows usando VMWare
Taller sistemas distribuidos sobre Windows usando VMWareTaller sistemas distribuidos sobre Windows usando VMWare
Taller sistemas distribuidos sobre Windows usando VMWare
 
Mysql2
Mysql2Mysql2
Mysql2
 
Servidores
ServidoresServidores
Servidores
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4
 
Oracle 11g galo saquinaula
Oracle 11g galo saquinaulaOracle 11g galo saquinaula
Oracle 11g galo saquinaula
 
Charter
CharterCharter
Charter
 
Charter
CharterCharter
Charter
 
node-js-es.19.pdf
node-js-es.19.pdfnode-js-es.19.pdf
node-js-es.19.pdf
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en Windows
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 
Luis manuel negrete olivares 6 f
Luis manuel negrete olivares 6 fLuis manuel negrete olivares 6 f
Luis manuel negrete olivares 6 f
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindio
 
AWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nubeAWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nube
 
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
 

Último

GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 

BORJA_ESCOLAR_COLADO_TFC_2022.pptx

  • 1. • NGINX COMO BALANCEADOR DE CARGA Y SERVIDOR WEB, DynDNS, UNA PÁGINA WEB CON SSL Y PHP A TRAVÉS DE UN CLÚSTER MYSQL DE ALTA DISPONIBILIDAD CREADO CON MYSQL-SHELL. PRESENTACIÓN
  • 2. EXPLICACIÓN ¿Qué es Nginx? Nginx es un servicio web y proxy inverso open source. Nginx como servicio web se usará en los todos los nodos. Nginx en su forma de servidor web funciona de forma análoga a otras tecnologías web como apache. Pero en este proyecto también vamos a usar Nginx como balanceador de carga como veremos en la siguiente diapositiva Nginx
  • 3. EXPLICACIÓN ¿Qué es un Balanceador de carga? Clúster Balanceador de carga Servidor web w101 Servidor web w201 Un balanceador de carga es un dispositivo ya sea hardware o software, como es este caso, que cuando recibe una petición, la balancea o redirige a otros equipos que se encargan de procesar esas peticiones. Petición web Nginx
  • 4. EXPLICACIÓN DynDNS ¿Qué es DynDNS? Es un servicio que permite la asignación de un nombre de dominio de Internet a un sistema que no dispone de una dirección ip estática. En este proyecto se utilizará DynDNS para asignar el nombre de dominio pry2022jun.ddns.net de la página https://www.noip.com/es-MX. www pry2022jun.ddns.net Noip 25.27.128.126 25.27.128.125 Se actualiza cada 30 minutos
  • 5. EXPLICACIÓN Let’s Encrypt ¿Qué es Let’s Encrypt Let’s Encrypt es un tipo de certificado SSL para asignar seguridad a las transacciones que realizamos con una página web. La ventaja de Let’s Encrypt es que es un certificado que podemos adquirir de forma gratuita. En este proyecto lo usaremos para activar el protocolo 443 y cifrar la información de nuestra web.
  • 6. PARTE TEÓRICA • ¿Qué es un clúster? Un clúster es un grupo de servidores que trabajan como uno sólo. Los Clúster de servidores pueden ser de hardware, en el que cada nodo realizar los cálculos que se le asignan, o de base de datos, en la que los nodos comparten la información de una o unas BBDD entre todos los nodos. MySQL clúster Clúster
  • 7. PARTE TEÓRICA MySQL clúster Al completo master01 worker101 worker201 LB El usuario abre el navegador de su equipo y realiza una petición al nodo ‘master01’ de forma transparente al clúster. Las peticiones se balancean a los nodos ‘worker101’ o a ‘worker201’. Independientemente del nodo en el que se realice el cambio en la BBDD, todos los nodos del clúster guardarán la misma información. Es decir la BBDD estará replicada. El clúster será tolerante a fallos al estar en modo multiprimario. Funcionamiento del proyecto Petición al puerto 443
  • 8. PARTE TEÓRICA INSTALACIÓN Y CONFIGURACIÓN DE MYSQL EN LOS EQUIPOS. MySQL - Server • Instalación de MySQL – SERVER. • Asignación de contraseña a root. • Creación del usuario admincluster con permisos totales.
  • 9. PARTE TEÓRICA Mysql_secure_ installation • Comando para establecer una serie de parámetros de seguridad básicos. • Podemos configurar también una contraseña para el usuario root. • Imprescindible para llevar a cabo la implementación del clúster con MySQL-Shell
  • 10. PARTE TEÓRICA Acceso a todas las direcciones ip a MySQL. Paso básico en la configuración de MySQL para que sea accesible posteriormente desde la página web a cualquier usuario. • Cambiamos en el fichero /etc/mysql/mysql.conf.d/mysqld.cnf la directiva bind-address = 127.0.0.1 por 0.0.0.0 • Reiniciamos el servicio y lo activamos al inicio.
  • 11. PARTE TEÓRICA Herramienta para la clusterización de MySQL por medio de una API. Instalación de MySQL - Shell • Tomar la dirección de la página web. • Descargarlo desde la terminal de Linux. • Instalarlo con dpkg.
  • 12. PARTE TEÓRICA Configuración del clúster con MySQL-Shell 1. Inicio de la herramienta: 2. Conexión: 3. Configurar instancia: Se realiza con las 3 instancias 4. Creación del nombre del clúster: 5. Añadir instancias al clúster: Se realiza con las 3 instancias
  • 13. PARTE TEÓRICA Estado del clúster Comandos para ver el estado del clúster • Cambio del estado de los nodos a multiprimario • Comandos para comprobar el estado del clúster:
  • 14. PARTE TEÓRICA Estado del clúster Nodo master01 Nodo worker101 Nodo worker201 Multiprimario Tolerancia a fallos
  • 15. PARTE TEÓRICA BBDD de prueba Fase necesaria para la parte teórica. • Creación de la BBDD Se puede realizar desde cualquier nodo. • Comprobación desde los nodos • Comprobación desde los nodos
  • 16. PARTE TEÓRICA BBDD de prueba Fase necesaria para la parte teórica. • Creación de la tabla Se puede realizar desde cualquier nodo. • Ver la tabla desde otros nodos • Insertar registros • Ver los registros desde otro nodos
  • 17. PARTE TEÓRICA Nginx servidor web • Carpeta por defecto: Instalación y configuración de LEMP (Linux, Enginex, MySQL y PHP) • Configuración del fichero pry2022jun.ddns.net. Lo copiamos del fichero ‘default’ . Editamos el nuevo fichero creado cambiando estas directivas. • Instalación de Nginx en los nodos worker. • Server name Se realiza en los dos nodos worker • Cambiamos los permisos al directorio de la web
  • 18. PARTE TEÓRICA PHP en Nginx Instalación y configuración de LEMP (Linux, Enginex, MySQL y PHP) • Instalación de PHP-FPM en los nodos worker. Se realiza en los dos nodos worker • Fichero /etc/nginx/sites-avaible/pry2022jun.ddns.net. • Descomentamos estas directivas.
  • 19. PARTE TEÓRICA PHP en Nginx Instalación y configuración de LEMP (Linux, Enginex, MySQL y PHP) Se realiza en los dos nodos worker Otras configuraciones: Otra configuración necesarias para que funcione php en los nodos worker es: • En el mismo fichero en que trabajábamos antes descomentamos estas líneas. • Salimos y reiniciamos el servicio
  • 20. PARTE TEÓRICA PHP en Nginx y tabla NAT Activación de los nodos en el servidor web. • Nos dirigimos al directorio /etc/nginx/sites-enabled y creamos el enlace simbólico. • Vamos a directorio /var/www/ y creamos un directorio con este nombre; Se realiza en los dos nodos worker • Mapeamos el puerto 80 en el router para que nuestra web funcione:
  • 21. PARTE TEÓRICA Nginx como balanceador de carga • Nos dirigimos al fichero /etc/nginx/nginx.conf y realizamos estos cambios dentro de la zona ‘http’: • Acto seguido en el fichero /etc/nginx/sites-avaiable añadimos estas directivas dentro de la zona server:
  • 22. PARTE TEÓRICA DynDNS • Vamos a la página y creamos un registro con estos datos: • Realizamos una consulta al DNS: • Configuramos DNS en nuestro router: censurado censurado
  • 23. PARTE TEÓRICA SSH • Instalamos SSH en los 3 nodos del clúster: • Mapeamos los puertos en nuestro router:
  • 24. PARTE TEÓRICA BBDD Definitiva • Borrado de la tabla anterior • Creamos la tabla • Insertamos los registros de la nueva tabla
  • 25. PARTE TEÓRICA BBDD Definitiva • Vamos a los nodos y comprobamos que se ven correctamente los cambios:
  • 26. PARTE TEÓRICA SSL de Let’s Encrypt El certificado SSL de Let’s Encrypt se instala de forma automática con Certbot. Estos son los pasos: • Instalamos Cerbot. • Instalamos el certificado de Let’s Encrypt.
  • 27. PARTE TEÓRICA Cambios en Nginx para SSL El certificado SSL de Let’s Encrypt se instala de forma automática con Certbot. Estos son los pasos: Estos pasos se realizarán en el nodo ‘master01’ • Editamos estas directivas en el archivo /etc/nginx/sites-avaiable/default. • Creamos el directorio para albergar la web en el nodo ‘master01’. • Cambiamos los permisos del directorio para que todo el mundo pueda conectar
  • 28. PARTE PRÁCTICA Funcionamiento de la web y el clúster • Todas las páginas que conforman la aplicación web tienen como nombre en la pestaña su función en la aplicación web y el nombre de host para comprobar el balanceo.
  • 29. PARTE PRÁCTICA Funcionamiento de la web y el clúster • La web pry2022jun.ddns.net consta de páginas para añadir, modificar y eliminar registros. • Vamos a los servidores y comprobamos que lo que muestra la web está guardado en ellos. • Realizados alguno de estos cambios en la web, volvemos a los servidores y comprobamos si las modificaciones de las páginas se han replicado en los nodos.
  • 30. CONCLUSIONES FINALES Ha sido un buen proyecto; y en realidad a pesar de los problemas encontrados que no han sido pocos y los ‘dolores de cabeza’ que han producido estos errores, en realidad ha sido una buena experiencia de la que nos podemos llevar nuevos conocimientos que se podrán aportar a futuros trabajos. Algo por lo que no me ha gustado tener que realizar este proyecto es porque sólo se entiende la informática y mucho más en sistemas, como un trabajo en equipo y el tener que verse solo buscando documentación, realizando las pruebas, encontrándose y superando errores. No obstante, y en líneas generales me quedo con un resultado positivo de esta experiencia.