Una pila MERN es una pila de software de JavaScript ampliamente utilizada que se puede usar para desarrollar aplicaciones y páginas web eficientes e interactivas. En este artículo, cubriremos cómo instalar la pila MERN en Ubuntu Linux en la instancia EC2.
arquitectura de pila MERN
La pila MERN consta de cuatro tecnologías:
MongoDB
M ongoDB es una base de datos no SQL de código abierto ampliamente utilizada para desarrollar aplicaciones web modernas y sólidas mediante el almacenamiento de datos en documentos flexibles como JSON. No necesita un esquema predefinido ni patrones de ordenación. Debido a su escalabilidad y rendimiento excepcional, se utiliza para desarrollar aplicaciones modernas que requieren bases de datos eficientes, de misión crítica y de alta disponibilidad.
Express.js
E xpress.js es un marco de aplicaciones web de Node.js que ofrece una amplia colección de funciones para aplicaciones web y móviles, y se utiliza para desarrollar aplicaciones web híbridas, de páginas múltiples y únicas.
React.js
R eact.js también es un marco JavaScript gratuito y de código abierto que se utiliza para crear interfaces frontend interactivas para aplicaciones web y móviles. Los usuarios pueden codificar en JavasScript y crear componentes de interfaz de usuario con React. Debido a su increíble rendimiento, flexibilidad e integridad, las cooperaciones más conocidas, como Facebook, Instagram, Twitter y otras, utilizaron React para crear sus interfaces.
Nodo.js
N ode.js:el entorno de JavaScript proporcionado por Node.js permite a los usuarios ejecutar su código en el servidor. Node.js es una técnica multiplataforma gratuita que permite a los programadores ejecutar su código en un servidor. También mejora la productividad y la funcionalidad de las aplicaciones.
aplicación MERN
La arquitectura MERN simplifica la creación de una arquitectura de tres niveles (frontend, backend y base de datos) usando solo JavaScript y JSON.
Así es como cada tecnología se adapta a la arquitectura:
- React.js:capa de presentación
- Node.js + Express.js:capa de aplicación
- MongoDB:capa de datos
Instalemos los componentes de la pila MERN paso a paso en Ubuntu en la nube de AWS.
Iniciando instancia Ubuntu EC2
Lanzar una instancia EC2 con el sistema operativo Ubuntu es simple y directo.
Vaya a la consola de administración de instancias EC2 y haga clic en Iniciar instancia botón.
Elección de AMI de instancia
AMI es una plantilla de una instancia EC2 con sistema operativo y software preinstalados.
Elija aquí la última AMI de Ubuntu.
Elección del tipo de instancia
A continuación, debe elegir su tipo de instancia EC2. Recursos informáticos definidos por tipo de instancia para su servidor virtual:CPU y RAM.
El tipo de instancia depende de los requisitos de su aplicación. A los efectos de este artículo, avanzaremos con t2.micro
.
Configuración de instancia
Aquí, puede configurar nuestra configuración de instancia, por ejemplo, redes, grupos de ubicación, rol de IAM, comportamiento de apagado, etc.
Si es nuevo en AWS, continúe con las opciones predeterminadas.
Configuración de almacenamiento
En este paso, necesitamos definir los discos y tamaños de instancia.
Seguiré adelante con un disco de sistema de 20 GiB.
Definir etiquetas
Las etiquetas de AWS le permiten identificar y rastrear fácilmente los recursos que crea en la nube de AWS.
Configuraré una etiqueta con los siguientes parámetros:
- Clave –
Name
- Valor –
MERN-dev-server
Configuración del grupo de seguridad
Security Group es un firewall de instancia EC2, que puede usar para permitir el tráfico entrante a su servidor.
Abriré SSH, el puerto predeterminado para el servidor de desarrollo de React y el puerto HTTP predeterminado para probar la configuración de producción (integración con Nginx o Apache).
Revisar parámetros de lanzamiento
No hay mucho que hacer aquí.
Simplemente revise su configuración y presione Iniciar botón.
Elegir par de claves SSH
Ahora, podemos lanzar nuestra instancia después de seleccionar o generar su par de claves SSH (más información sobre SSH está disponible en nuestro artículo Las 10 características principales de SSH que DEBE conocer para ser más productivo).
SSH a la instancia
Tan pronto como se inicie su instancia, acceda a ella mediante SSH para iniciar la instalación del software (el inicio de sesión predeterminado para las instancias de Ubuntu es ubuntu
).
Instalando MongoDB
La versión más reciente de MongoDB no está incluida en el repositorio de Ubuntu. Como resultado, primero agregaremos manualmente el repositorio de MongoDB.
Importación del repositorio MongoDB
En primer lugar, es una buena idea actualizar la lista de paquetes de los repositorios:
sudo apt-get update
A continuación, necesitamos instalar el gnupg
paquetes:
sudo apt-get install gnupg -y
Copie y pegue el comando para descargar y agregar la clave GPG de MongoDB:
wget -qO – https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key agregar –
Agregar MongoDB a una lista de paquetes
Una vez que haya descargado e instalado la clave, agregue el repositorio de MongoDB:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Instalando MongoDB
Actualice su lista de paquetes e instale MongoDB en su sistema:
sudo apt-get update
Para instalar MongoDB, use el siguiente comando:
sudo apt install mongodb-org -y
Ejecución del servicio MondgoDB
Una vez que MongoDB esté instalado, administre el estado de los servicios de MongoDB utilizando systemctl
comando.
Verifiquemos el estado del servicio MongoDB:
sudo systemctl status mongod
Si MongoDB no se está ejecutando, debemos habilitar e iniciar su servicio:
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
Verificando la instalación
Use el comando para verificar la versión de MongoDB y la dirección del servidor:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Creando usuario administrador de MongoDB
Para trabajar con la base de datos, inicie el shell de MongoDB usando el comando:
sudo mongo
Cambiemos al modo de administración de MongoDB:
> use admin
Ahora, puede crear una base de datos en el siguiente orden:
> db.createUser({user: "admin" , pwd: passwordPrompt() , roles: [{ role: "userAdminAnyDatabase" , db: "admin"}]})
Para salir del shell de MongoDB, use:
> quit()
Instalando React.js
Para instalar React, primero debemos instalar los paquetes NPM.
NPM
El NPM es un administrador de paquetes de nodos que se utiliza para instalar todas las bibliotecas y otras herramientas para administrar el desarrollo de aplicaciones JavaScript.
Para instalar NPM, use:
sudo apt-get install npm -y
Compruebe el npm versión con el comando para ver si la instalación se completó:
npm -v
El comando anterior también instaló las bibliotecas de Node.js:
node -v
Si desea actualizar a la última versión de NPM, use el siguiente comando:
sudo npm install -g npm@next
create-react-app
Ahora, necesitas instalar herramientas como babel
, webpack
, y otros para avanzar con el desarrollo de React. Pero esto puede ser un desafío para los principiantes.
Usemos create-react-app
que proporciona la forma más simple y directa de comenzar el desarrollo de cualquier aplicación React.
Para instalar la create-react-app
ejecutar:
sudo npm install -g create-react-app
Bootstrapping de la aplicación React
Creemos la primera aplicación usando create-react-app
.
Puede proporcionar el nombre de su aplicación agregándolo como argumento:
create-react-app myapp
El código estándar de la aplicación React está disponible para usted en myapp
carpeta.
Vayamos allí e iniciemos el servidor de desarrollo de React.
cd myapp
npm start
Abra su navegador e ingrese la dirección IP pública de su instancia EC2 en la barra de direcciones:
Aparecerá la página de la aplicación React Demo.
Instalación de Node.js
Instalar Node.js en Ubuntu es muy simple y directo.
Por supuesto, ya lo instalamos en el paso anterior, así que aquí procederemos con el proceso de instalación para un servidor nuevo.
El primer paso es actualizar su lista de paquetes existentes:
sudo apt-get update
Ahora, instale Node.js ejecutando el comando:
sudo apt install nodejs -y
Para verificar la versión instalada de Node.js, use:
nodejs -v
Node.js se ha instalado correctamente en su servidor.
Instalación de Express.js
Ahora es el momento de cubrir la instalación de Express.js:
sudo npm install -g express-generator
Bootstrapping de un proyecto Express.js
Creemos un nuevo proyecto usando Express.js:
express MyFirstProject
Muévase al directorio de su proyecto e instale las dependencias NPM requeridas:
cd MyFirstProject
npm install
Ahora, iniciemos el servidor web Express:
npm start
Abra el navegador e ingrese la dirección IP en el puerto 3000 en la barra de direcciones:
El proyecto de arranque se ha creado correctamente.
Ahora, está listo para comenzar el desarrollo de aplicaciones MERN.
Resumen
La pila MERN consta de M ongoDB, E xpress.js, R eact.js y N ode.js, una pila de JavaScript estándar y de código abierto para desarrollar aplicaciones web.
En esta publicación, cubrimos cómo instalar y configurar MongoDB, Express.js, React.js y Node.js en la instancia de Ubuntu EC2 en la nube de AWS.