EC2: Desplegando una aplicación NodeJS.

En post anteriores hemos visto como levantar una instancia EC2 y cómo conectarnos a ella vía SSH pero esto nos sirve de poco. Por ello, en este post veremos cómo desplegar una aplicación hecha con NodeJS.

Desde nuestro terminal (y una vez conectados, vía SSH), lo primero que haremos será actualizar la lista de paquetes disponibles y sus versiones con el siguiente comando:

apt-get update 

Posteriormente instalaremos NodeJS y su gestor de paquetes npm:

apt-get install -y nodejs npm

La opción -y del comando install nos sirve para que por defecto acepte los mensajes de confirmación.

Después clonaremos desde un repositorio GitHub la aplicación que queremos desplegar (en este caso hemos escogido un ejemplo que usan los chicos de codely.tv):

git clone https://github.com/juanmaguitar/fullstack-mini-project.git "$HOME/application"

La directiva «$HOME/application» creará un directorio «application» donde se clonará la aplicación.

Una vez que hemos hecho el clone, vamos a posicionarnos en un commit concreto (que sabemos que funciona):

cd application 
git checkout 99c6efa

Ahora procederemos a realizar la instalación de la aplicación (posicionados dentro del directorio application):

npm install

Y por último procederemos a arrancarla:

node app.js

El mensaje de respuesta del terminal será el siguiente:

app running log message

Tal como nos indica el mensaje, la aplicación estará disponible en el puerto 3000 (sustituid la ip por la de vuestro servidor) por lo que si introducimos la siguiente url en el navegador:

http://35.180.116.253:3000

Pero esto no será así, porque si recordáis, cuando levantamos nuestra EC2, el Secuity Group (SG) que creamos solo incluía una política de conexión de entrada (inbound) que era la de la conexión SSH.

Para poder ver nuestra aplicación funcionando, deberíamos permitir la conexión entrante al puerto 3000 por lo que para ello deberíamos añadir esta política al SG (no es necesario reiniciar).

Con esto, ya tendríamos nuestra aplicación desplegada mostrando un magnífico «hello world»:

hello world

En el siguiente post os explicaré como hacer que vuestra aplicación arranque automáticamente cuando el servidor se reinicie usando pm2.

Espero que os haya servido de ayuda, y os animo a probar a desplegar otro tipo de aplicaciones.

Leave a reply:

Your email address will not be published.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.