avatar

Piyush Himmatsinghka

DevOps Engineer

MERN Stack Deployment on Linux

Overview

This project demonstrates the deployment of a full-stack MERN (MongoDB, Express, React, Node.js) application on a Linux server. The application is deployed in a secure and scalable manner, utilizing modern web development practices and server management tools.

Project Highlights

  • MongoDB: Installed and configured to manage application data.
  • Express and Node.js: Set up a server to handle API requests and serve the frontend.
  • ReactJS: Frontend deployed with a focus on modern, responsive design.
  • Security: Environment variables used for sensitive information.
  • Process Management: PM2 utilized to ensure application uptime.
  • Monitoring and Logging: Integrated to track application performance and errors.

Technology

Project Setup on AWS

  • Server Setup: An EC2 instance with Ubuntu Server 20.04 LTS was provisioned using AWS. The instance was configured with necessary security groups to allow traffic on the required ports.
  • Node.js Installation: Node.js and npm were installed to run the backend application.
  • ExpressJS Setup: ExpressJS was set up to handle API routing and serve the application.
  • MongoDB Integration: MongoDB was connected to the Node.js application using the Mongoose library, allowing for the easy definition of data models and interaction with the database.
  • Frontend Setup: The frontend was built using ReactJS and served statically by the Node.js server.
  • Application Deployment: The application was started using Node.js and was made accessible via the EC2 instance's public IP.