No sé cómo.
Lo que nosotros tenemos aquí en nuestra aplicación de Rick es un spa, es decir, un single Peach Application.
Es decir, todos ustedes están siendo controlados por mí aplicación de React.
Entonces, básicamente todos los VR que yo coloco tienen que ser manejados por el index.
HTML que se encuentra aquí en el cual está montando este punto JS y ahí tiene la configuración del router.
Pero en pocas palabras, todos los VR van a ser manejados por mi aplicación y eso es una pequeña configuración
que hay que hacer.
Ahora, si ustedes se van a la documentación de Engine X, básicamente está explicado acá, pero no
veo un ejemplo muy bueno, un ejemplo súper fácil de digerir aquí hay configuraciones, aquí ya dice
que el cual es el puerto, los volúmenes, etcétera y en fin, aquí está básicamente lo que nosotros
ocupamos, pero no es tan digerible como está aquí.
Entonces vamos a hacer lo siguiente porque nuevamente me interesa, como dice el dicho enseñarle a un
hombre a pescar no, dale un pescado a un hombre un día y comerá.
Ese día enseñaré a pescar y comerá de por vida.
Entonces lo importante para mí es que ustedes sepan de dónde está esa información.
Una forma interesante de dónde obtener la configuración la tenemos en.
Voy a buscar aquí config y le voy a mostrar config.
Configuration Files.
Aquí está.
Tenemos que entrar a este C en Genesis, en y en x config.
Y este es un ejemplo de esa configuración.
Esa es la configuración que está por defecto, que es casi, casi lo que nosotros ocupamos para que
funcione ahora.
Entonces tengan.
No hace falta que ustedes copien ese pad.
Voy a venirme aquí y voy a levantar un contenedor.
Docker container, run, Docker, container container run en genesis de la versión o con el tag 1.233
y simplemente lo quiero echar a andar.
Es decir, básicamente con esto es más que suficiente y con esto lo ups uno 23 Ah bueno, si es que
yo limpie todo, ya está corriendo ahí y ahora voy a entrar a ese contenedor.
Ese contenedor es el bueno.
Vamos a ver Docker container LS 84 b entonces Docker execute menos interactive espacio 84 V eso si quieren
háganlo conmigo, monten esa imagen y vamos a probar esto.
Oops!
Y me faltó colocar aquí el bus.
Ok ls.
Se acuerdan cuál era el paz?
Era etecé y todo ese paz.
Entonces voy a hacer un cd a ese paz.
Voy a presionar enter y me dice que no logra encontrar ese directorio de etc slash en y en x slash en
y en x config.
Enter.
Y bueno ls vamos a buscar donde está eso se de etc ls.
Y aquí se de en yen x el enter ls y aquí es cd a punto de enter.
Ahora si ahí estoy y ahí tenemos el default config voy a hacer un cat del default config y todo lo que
esta aquí entre ya es yo lo puedo copiar todo lo que está ahí copien.
No voy a regresar a Visual Studio Code y voy a crearme un nuevo directorio en lo bueno, lo puedo colocar
directamente en la raíz, pero mejor creo una nueva carpeta que se llame en Génesis ng dentro de ng
next voy a crearme ese archivo en particular que se va a llamar en Génesis.
Y peguen todo lo que estaba ahí.
Básicamente este NGE yo me metía al contenedor por defecto y lo extraje y lo pegué aquí.
Ustedes pueden analizar muchas cosas interesantes.
Cómo manejan los errores los cuatros, los cuatro.
Y básicamente lo que yo tengo que hacer aquí es estar escuchando el Puerto Chant.
Eso está bien.
Puedo quitar esta parte de aquí.
Le puede dejar el nombre de local host.
No hay ningún problema de dejarle el nombre de local host.
Y en el location, aquí es donde viene a suceder la magia location slash, es decir, el root cuando
se hace la solicitud.
Por ejemplo, cuando lo poníamos en el local host.
Ahí lo tenemos.
Es root.
Está bien que sea user ser nginx html porque aquí es donde nosotros colocamos el directorio, pero puede
ser que ustedes quieran hacer el cambio, lo pueden hacer ahí.
Ahora viene la parte del index y el index.html.
Eso está ahí igual porque ese es el archivo que va a buscar.
Y ahora aquí va a usar el try, que eso es algo que se encuentra en la documentación y si ustedes quieren
se preguntan pero porque a mí se me ve de otros colores y no, no todo plano.
Recuerden, es una extensión que yo les pasé en las instalaciones del curso, que básicamente ayudan
ciertas cosas y es el Nginx Configuration.
Ok, Jean.
En fin.
Tri files.
Espacio VR y espacio VR.
Y ese es el Paz y va a pasarlo por el index.
HTML.
Básicamente lo que estoy haciendo con esta línea es que no importa cuál URL sea, siempre va a mandarlo
y lo va a responder al index.
HTML para que el jack router o el router lo interprete.
Y esto es una configuración que le va a servir sin importar si es una aplicación de Angular, Jezebel
y cualquier spoiler va a funcionar exactamente igual.
Y básicamente eso sería todo.
Tenemos ropajes.
Los dejamos igual.
Eso está igual.
Y no hay que hacer nada más.
Esta es mi configuración.
Ustedes pueden tener diferentes configuraciones para desarrollo, testeo, staging y todo lo que ustedes
necesiten.
Pero esta es la configuración.
Ahora, la pregunta del millón es OK, si yo necesito colocar esa configuración para reemplazar la configuración
que yo tengo en la imagen de Nginx que estoy montando con mi aplicación, entonces imagino que más de
uno va a decir ah, bueno, entonces me tengo que meter al contenedor a hacer ese cambio.
Obviamente eso no es práctico.
La idea es que esta configuración ya venga puesta, por decirlo así, en el proceso de construcción.
Es decir, así como yo copio esto así mismo, yo también quiero copiar esa configuración y pegarla ya.
Ok, eso es lo que queremos hacer, pero técnicamente lo que voy a hacer es borrar este archivo y voy
a crear uno nuevo, pero con los valores que yo puse.
Aquí, en este, en Génesis.
Entonces hagamos ese paso.
Ya tenemos la imagen.
Tiene esa configuración por defecto.
Ponemos el puerto.
Copiamos todo ahí.
Eso.
Eso queda exactamente igual.
Pero ahora puedo ejecutar el comando para remover y eliminar lo que se encuentra en ese directorio que
era Slash LTS.
Slash en Génesis.
Slash conf.
Que eso es una carpeta Slash default, default.
Punto conf.
Eliminamos ese archivo.
Recuerden, es este archivo el que estoy borrando físicamente de la imagen que estamos tomando de aquí.
Como ya no existe, este archivo lo necesita Nginx para saber cómo funciona ese servidor o ese host
que estamos montando.
Entonces ahora lo que voy a hacer es copiar.
De nuestro directorio, que sería de ese directorio que tenemos aquí?
Sería en Genesis, en genesis es las ng ids o en Genesis conf Ok, ese es el nombre.
Asegúrese de ponerlo exactamente igual, si no vamos a tener algún error por ahí.
Ok, de ese mismo nombre espacio y lo voy a colocar exactamente ahí mismo.
Lo vamos a colocar en etecé.
En GeneXus conf.
Podríamos dejarlo con ese nombre de configuration, pero ese nombre que nosotros le pusimos en Genesis
conf es el que va a estar buscando también.
Entonces lo va a colocar.
Hey, ese engine conf es el nombre que va a estar dentro de ese directorio.
Básicamente los cambios.
Y esto debería ser todo.
Regresemos a la terminal.
Asegúrese de grabar los cambios aquí.
Voy a darle exit.
Salirme.
Asegúrese de borrar el contenedor que tienen corriendo Docker container.
Ls Asegúrese de hacer un Docker container RM de lo voy a hacer forzado del 84 b.
Borren ese ese contenedor y ahora construyamos nuevamente la imagen.
Entonces Docker vale menos de héroes, no catch si ustedes lo quieren.
Bueno, que se mantenga el caché, pero igual lo pueden dejar así, lo que es menos té.
Presionen enter y dejemos que esto haga la construcción de nuevo.
Ya más adelante puedo quitar ese no cash, pero esto es por si acaso.
Bueno, me interesa que ustedes miren todo el procedimiento.
Posiblemente su equipo ya haya terminado todo.
Entonces esperemos un segundo a que esto realice nuevamente la instalación, el que la creación de los
layers, etc, etc, pero de nuevo es una configuración relativamente sencilla que yo extraje de ello,
extraje del propio engine.
Si ustedes por alguna extraña razón quieren ver esta configuración por los espacios o algo así, quieren
estar seguro de algo.
Recuerden en el material adjunto de la última clase de esta sección, ustedes tienen el código fuente
de la aplicación para que puedan ver donde estaba lo de Engine X, etc, etcétera y lo puedan comparar
con el suyo por si acaso.
Ok, vamos a ver cómo va esto.
Perfecto, ya terminó.
Regresemos acá a la otra terminal y creo que el comando lo tengo por aquí todavía.
Ok, Aquí.
No, no, no, no!
Lo tengo Por aquí.
Creo que estaba por acá.
Se me perdió.
Aquí está.
Este es el video de.
Aquí está el video.
No, ninguno de estos es ninguno de estos.
Es Token, el container Run.
Este es el container Run.
Y voy a hacer pulsos del puerto 80,80.
Iré a presionar Enter.
Oops.
Tengo un error.
Vamos a ver qué me dice?
Me dice que el toque entry point menos de It's not empty.
Hay que ser.
Vamos a buscar.
Parece que tenemos un error en el archivo de configuración.
Dice que se esperaba, se esperaba algo, dice un expectante Yahveh, o sea un expert.
Esa llavecita vamos a revisarlo.
Seguro que comenté algo mal.
Vamos a buscarlo, tenemos el server, tenemos localhost, tenemos el location, slash, user, punto
y coma.
Aquí me falta un punto y coma.
Perdón, perdón, perdón por eso.
Me falta un punto y coma nuevamente.
Punto y coma.
Pueden leer esto?
Y básicamente en la línea 12 y la línea 12.
Aquí es donde tuvimos el problema nuevamente.
Aquí está.
Y ahí lo tenemos.
Bueno, gracias a los cambios voy a hacer nuevamente la construcción de la imagen y sería Docker.
Docker Ville.
Lo tengo todo menos té.
Ya puedo quitar el no cas.
Creo que esto ya va a pasar sin ningún problema.
Yo sé los layers existentes.
Perfecto.
Y ahora volvamos a intentar correr el contenedor.
Ok, Funciona.
Regresemos al local Host.
Tengo por acá.
Ok, voy a recargar forzadamente.
Iban a ver que aquí mis imágenes no funcionan, pero eso es algo que yo estaba esperando que sucediera.
Las imágenes no funcionan, pero si yo recargo un navegador web, la configuración si pasó.
Van a ver que aquí si yo recargo alguna funcionan aquí no tengo que hacer recargarlo forzadamente.
Va a ser el caché porque parece que tengo algo en el caché, pero está bien si las imágenes no se muestran,
es parte de lo que nosotros queremos.
Nginx también ayuda con el manejo del caché y otras cosas, pero por ahora, por ahora está funcionando
la aplicación.
Ya resolvimos el problema de las rutas, pero todavía nos hace falta el problema de las imágenes, que
eso lo resolvemos en la próxima clase.