How to Deploy Mern stack Apps To DigitalOcean ?


DigitalOcean Provides virtual private servers (VPS) with a variety of plans for developers to choose from which you can use for Deploying a MERN stack application.

MERN stack is a popular web development stack used to build dynamic web applications. It stands for MongoDB, Express.js, React.js, and Node.js. It is an open-source JavaScript framework that allows developers to create full-stack applications using MongoDB, Express, React, and Node.

Here at Fixwebnode, we shall look into how we can Deploy Mern stack Apps To DigitalOcean.



Advantages of using the Mern application

The MERN stack is a powerful combination of technologies for developing applications quickly and efficiently. 


It provides many advantages such as:

  • Easy to Learn and Use: The technologies used in the MERN stack are all open source and have extensive documentation and tutorials available. This makes it easy to learn and use the stack, even for beginners.
  • High Performance: The technologies used in the MERN stack are highly efficient and scalable. This makes it possible to develop applications that can handle high volumes of data and traffic.
  • Cost Effective: The technologies used in the MERN stack are all open source, which means that there are no licensing fees or other costs associated with using them. This makes it a cost-effective solution for developing applications.
  • High Security: The technologies used in the MERN stack are all highly secure and reliable. This makes it an ideal solution for developing applications that involve sensitive data.


Steps to deploying a MERN stack application to DigitalOcean

With DigitalOcean, developers can easily deploy their applications in a few simple steps.

  • Creating a Droplet
  • Installing Dependencies
  • Connecting to the Droplet
  • Setting up MongoDB
  • Configuring the Application
  • Deploying the Application


Let's get started!


1. Creating a Droplet

This is to create a Droplet on DigitalOcean. 

  • To do this, go to the DigitalOcean website and select the “Create Droplet” option. 
  • On the next page, select the “One-click Apps” option and then select the Ubuntu operating system.
  • Once you have selected the operating system, you can choose a plan based on your application's requirements. 
  • As soon as you have selected a plan, you can click “Create” to create the Droplet.


2. Installing Dependencies

Now that you have created a Droplet, the next step is to install the required dependencies. This includes Node.js and other packages.

To do this, log into the Droplet via SSH and run the following command:

$ sudo apt-get update && sudo apt-get install -y nodejs npm

This command will install the necessary packages for your MERN stack application.


3. Connecting to the Droplet

Now that the dependencies are installed, you can connect to the Droplet via SSH.

To do this, run the following command in your terminal:

$ ssh root@IP_ADDRESS

where IP_ADDRESS is the IP address of the Droplet.


4. Setting up MongoDB

After connecting to the Droplet, the next step is to set up MongoDB. 

To do this, first, we need to create a MongoDB user.

To do this, run the following command in the terminal:

$ mongo --eval "db.createUser({user: 'mongo_user', pwd: 'PASSWORD', roles: [{role: 'readWrite', db: 'admin'}]});"

This command will create a MongoDB user with a username and password.

Next, we need to configure the MongoDB configuration file. To do this, open the file /etc/mongodb.conf in your favorite text editor. 

In this file, add the following lines:

auth = true
setParameter = authenticationMechanisms=SCRAM-SHA-1

Then, save and close the file.

Finally, restart the MongoDB service by running the following command:

$ sudo systemctl restart mongodb


5. Configuring the Application

Now that MongoDB is set up, the next step is to configure the application. To do this, open the application’s configuration file and add the following lines:


These lines will configure the application to connect to MongoDB.


6. Deploying the Application

The last step is to deploy the application. To do this, we need to generate a production build of the application. To do this, run the following command in the terminal:

$ npm run build

This will generate a production build of the application.

Next, we need to install the required packages for the application. To do this, run the following command in the terminal:

$ npm install --production

Finally, we need to start the application. To do this, run the following command in the terminal:

$ npm start

This will start the application on port 3000.



Is Mern Stack Suitable For App Development ?

MERN stack, which stands for MongoDB, Express.js, React.js, and Node.js, is suitable for developing a variety of applications, including web applications, mobile applications, and even Internet of Things (IoT) applications. The stack has also been used for developing solutions for enterprise-level applications, as its scalability and flexibility make it an ideal choice for larger projects.


It offers a number of advantages that make it an attractive choice for app development. For starters, the stack is based on JavaScript, which is a popular language that is easy to learn and use. Additionally, the stack is open source, so developers can benefit from its cost-effectiveness and have access to a wide range of tools and libraries.


The stack is also highly scalable, which means that it can handle large-scale applications without any issues. This is especially important for applications that may require more resources than a traditional web app.


The stack is also very efficient, as it uses a single language throughout the entire development process. This makes the development process much faster, as developers will only need to learn one language to be able to create a full-stack web application.


Finally, the MERN stack is highly secure, as it uses the latest security technologies such as JSON Web Token (JWT) and OAuth 2.0 for authentication and authorization.

This helps ensure that the applications are secure and protected from any potential security threats.

Your Cart