DEV Community

Romulo Gatto
Romulo Gatto

Posted on

Building a Simple HTTP Server with Node.js

Building a Simple HTTP Server with Node.js

Are you interested in building your own web server? Look no further! In this guide, we will walk you through the steps to create a simple HTTP server using Node.js. With its event-driven architecture and lightweight nature, Node.js is the perfect choice for creating efficient servers.

Prerequisites

Before getting started, make sure you have Node.js installed on your machine. You can download it from the official website here. Once installed, open a terminal or command prompt to proceed with building your HTTP server.

Step 1: Setting up the Project

To begin, create a new folder for your project. Open your terminal or command prompt and navigate to this directory by using the cd (change directory) command:

$ mkdir http-server
$ cd http-server
Enter fullscreen mode Exit fullscreen mode

Next, let's initialize our project by running the following command:

$ npm init -y
Enter fullscreen mode Exit fullscreen mode

This will create a package.json file that includes metadata about our application.

Step 2: Installing Dependencies

Our next step is to install some essential dependencies for creating an HTTP server. We'll be using the built-in http module provided by Node.js as well as another popular package called express. This package simplifies handling routes and requests in an elegant manner.

To install these packages, run:

$ npm install express --save
Enter fullscreen mode Exit fullscreen mode

The --save flag ensures that Express is added as a dependency in our package.json.

Step 3: Creating Server Code

Now that we have set up our project and installed necessary dependencies let's write code to create our basic HTTP server. Create a new file named server.js within the root of your project folder.

In this file, import both modules using require statements at the top of your script:

const http = require('http');
const express = require('express');
Enter fullscreen mode Exit fullscreen mode

Next, create an instance of the Express application and configure our basic route:

const app = express();

app.get('/', (req, res) => {
  res.send('Hello from your Node.js server!');
});
Enter fullscreen mode Exit fullscreen mode

To complete the setup of our HTTP server, we need to define a port and start it using the http module. Add the following lines at the end of your server.js file:

const port = 3000;

http.createServer(app).listen(port, () => {
  console.log(`Server running on port ${port}`);
});
Enter fullscreen mode Exit fullscreen mode

Step 4: Starting the Server

Congratulations! You have successfully built your simple HTTP server with Node.js. Now let's start it up!

In your terminal or command prompt, navigate to your project directory and run:

$ node server.js
Enter fullscreen mode Exit fullscreen mode

If everything went well, you should see a message saying "Server running on port 3000". Your web server is now active and ready to handle incoming requests.

Conclusion

You've learned how to build a basic HTTP server using Node.js. By utilizing its powerful features in combination with modules like Express, you can easily expand upon this foundation to build more complex servers that handle various routes and business logic.

Feel free to experiment further by adding new routes or implementing additional features based on your specific requirements. Happy coding!

Top comments (0)