How to Install and Configure Nginx from Source on Linux?

In this tutorial, we will explore the process of installing and configuring Nginx from Source on Linux. Nginx is a powerful and widely used web server and reverse proxy server that offers high performance, scalability, and flexibility. By installing Nginx from the source, we gain more control over the installation and can customize it to suit our specific needs.

In this article, we will cover the complete installation process, starting from obtaining the necessary source code to configuring and running Nginx on our Linux system. By following the step-by-step instructions provided, you will be able to successfully set up and configure Nginx from the source, allowing you to take advantage of its advanced features and optimize its performance according to your requirements.

Obtaining the Nginx Source Code

To begin the installation process, we first need to obtain the source code for Nginx. Follow the steps below −

  • Open a terminal window and navigate to the directory where you want to download the Nginx source code.

  • Use the following command to download the latest stable version of Nginx 


We use the `wget` command to download the Nginx source code package. In this example, we are downloading version 1.21.0, but you can replace the version number with the latest stable version available.

  • After the download completes, extract the source code using the following command 

tar -zxvf nginx-1.21.0.tar.gz

The `tar` command is used to extract the contents of the downloaded archive. Adjust the command based on the actual file name and version you downloaded.

Installing Dependencies and Compiling Nginx

Now that we have the Nginx source code, we need to install the necessary dependencies and compile it. Follow these steps:

  • Install the required development tools and libraries by running the following command 

sudo apt-get install build-essential

The `build-essential` package provides a collection of essential development tools and libraries required for compiling software on Linux.

  • Change to the extracted Nginx source code directory using the following command 

   cd nginx-1.21.0
  • Configure the Nginx build process by executing the following command 


The `configure` script checks for the presence of necessary libraries and dependencies, and generates a makefile for the compilation process. You can specify additional options to customize the installation further.

  • Once the configuration is complete, start the compilation process by running the `make` command 


The `make` command compiles the Nginx source code into executable binaries.

Installing and Configuring Nginx

After the compilation process is finished, we can proceed with installing and configuring Nginx. Follow these steps −

  • Install Nginx by executing the following command 

   sudo make install

The `make install` command installs the compiled Nginx binaries, default configuration files, and other necessary files onto your system.

  • Once the installation is complete, you can start the Nginx service by running the following command 

   sudo systemctl start nginx

The `systemctl start` command is used to start a system service. In this case, we are starting the Nginx service.

  • To verify that Nginx is running correctly, open a web browser and enter your server's IP address or domain name. If Nginx is installed and configured correctly, you should see the default Nginx welcome page.

Additional Configuration and Advanced Options

Nginx provides various configuration options to customize its behavior. Here are a few examples 

  • Configuration File  The main configuration file for Nginx is located at `/etc/nginx/nginx.conf`. You can edit this file to modify Nginx's global settings, server blocks, and other directives.

  • Server Blocks  Server blocks allow you to configure multiple websites or applications on the same Nginx instance. Each server block can have its own configuration, including virtual hosts, SSL/TLS certificates, and proxy settings.


In this tutorial, we have covered the step-by-step process of installing and configuring Nginx from source on Linux. We started by obtaining the Nginx source code, then proceeded with installing the necessary dependencies, compiling the code, and finally installing and configuring Nginx on our system. By following these instructions, you now have a fully functional Nginx installation, ready to serve web content and handle incoming requests. Remember to explore the extensive configuration options provided by Nginx to further customize and optimize your web server according to your specific needs.

Updated on: 27-Jul-2023


Kickstart Your Career

Get certified by completing the course

Get Started