How to set up a Node.js server with PM2 on a VPS

Setting up a Node.js server on a Virtual Private Server (VPS) can be a robust solution for hosting scalable applications. Node.js is a popular JavaScript runtime built on Chrome’s V8 JavaScript engine, known for its performance and efficiency in handling asynchronous operations. To ensure that your Node.js applications run smoothly and restart automatically in case of failure or after system reboots, using a process manager like PM2 is essential. This article will guide you through the steps of setting up a Node.js server on a VPS and configuring it with PM2, making your deployment professional and resilient.

Step-by-Step Node.js Server Setup on a VPS

To begin setting up a Node.js server on a VPS, you first need to ensure that your VPS is running and that you have SSH access to it. Most VPS providers offer various OS options; Ubuntu is a common choice due to its user-friendliness and large community. After SSHing into your VPS, the first step is to update the package manager data with sudo apt update and then install Node.js. You can install Node.js either from the repositories directly using sudo apt install nodejs or by using Node Version Manager (NVM) for more flexibility in managing versions.

Once Node.js is installed, verify the installation by running node -v, which should display the version of Node.js that was installed. Next, you should install npm (Node Package Manager), which usually comes with Node.js when installed from standard repositories. You can also update npm to the latest version with npm install npm@latest -g. With Node.js and npm ready, you can now transfer your Node.js application files to the VPS or clone them directly from a Git repository if your project is hosted on one.

After your application files are on the server, navigate to the project directory and run npm install to install all dependencies specified in your package.json. It’s a good practice to test your application locally to ensure everything works as expected. Assuming your application’s entry file is server.js, you can start your application with node server.js. However, for production environments, you’ll need a process manager like PM2 to keep the application running continuously.

Configuring PM2 for Node.js Process Management

PM2 is a powerful, production-ready process manager for Node.js applications that helps you manage and keep your applications online 24/7. First, install PM2 globally on your VPS using npm with the command npm install pm2@latest -g. This allows you to use PM2 commands directly from anywhere on your system. Once PM2 is installed, you can use it to launch your application by navigating to your application directory and running pm2 start server.js. This command starts your application and adds it to PM2’s process list, which is auto-managed by PM2.

To ensure that your application automatically restarts after a reboot or crash, use the command pm2 startup. PM2 will display a command that you need to execute, often specific to your VPS’s operating system. This command sets up a startup script that resurrects your PM2-managed applications on each reboot. For ongoing management, use pm2 save after starting your apps, which saves the current list of processes you want PM2 to manage.

Furthermore, PM2 provides several utility commands to monitor and manage your application. Commands like pm2 list, pm2 stop, pm2 restart, and pm2 delete are essential for day-to-day operations. For logs, use pm2 logs to view outputs from your applications, which can be invaluable for debugging and monitoring the application state in production environments.

Setting up a Node.js server on a VPS and configuring it with PM2 allows developers to manage and scale their applications effectively. By following the steps outlined in this article, you can achieve a robust setup that ensures your Node.js applications are not only running but are also stable and resilient against downtimes. Whether it’s for development or production, mastering these tools will greatly enhance your capabilities in deploying and managing server-side applications efficiently.

Hot this week

Top 5 Beaded Jewelry Trends in Africa (2025)

Beaded jewelry continues to thrive in Africa, blending traditional...

Crocheting for Beginners: Step-by-Step African Patterns

Crocheting is a rewarding craft that allows you to...

DIY African Black Soap: Homemade Recipes & Benefits

African black soap is renowned for its natural ingredients...

Where to Buy Candle-Making Supplies in Nigeria

If you're interested in starting candle-making in Nigeria, here...

How to Make Tie-Dye at Home (African Fabric Edition)

Creating tie-dye patterns on African fabrics is a fun...

Topics

Top 5 Beaded Jewelry Trends in Africa (2025)

Beaded jewelry continues to thrive in Africa, blending traditional...

Crocheting for Beginners: Step-by-Step African Patterns

Crocheting is a rewarding craft that allows you to...

DIY African Black Soap: Homemade Recipes & Benefits

African black soap is renowned for its natural ingredients...

Where to Buy Candle-Making Supplies in Nigeria

If you're interested in starting candle-making in Nigeria, here...

How to Make Tie-Dye at Home (African Fabric Edition)

Creating tie-dye patterns on African fabrics is a fun...

5 Best Sewing Machines for Beginners in Africa

Starting your sewing journey can be exciting, and choosing...

DIY Wall Décor Ideas Using African Prints

Transform your space with vibrant African prints! Here are...

How to Start a Bead-Making Business in Africa: Profitable Skills

Starting a bead-making business can be a rewarding venture...
spot_img

Related Articles

Popular Categories

spot_imgspot_img