Skip to main content

How to Install Nginx on Debian

Nginx (pronounced engine-x) is a popular open-source web server that is known for its high performance, stability, and scalability. It is commonly used as a reverse proxy server, load balancer, and HTTP cache. In this tutorial, we will show you how to install Nginx on Debian.

Prerequisites

Before we begin, you will need the following:

  • A Debian VPS or dedicated server running a recent version of Debian.
  • A user account with sudo privileges.

Step 1: Update the System

Before installing any new software, it is always a good idea to update the system first. You can do this by running the following command:

sudo apt-get update && sudo apt-get upgrade

This command will update the package list and install any available updates.

Step 2: Install Nginx

To install Nginx on Debian, run the following command:

sudo apt-get install nginx

This command will install the latest version of Nginx from the official Debian repository.

Step 3: Start Nginx

Once Nginx is installed, you can start the service by running the following command:

sudo systemctl start nginx

This command will start the Nginx service. You can also enable Nginx to start automatically at boot time by running the following command:

sudo systemctl enable nginx

Step 4: Verify the Installation

To verify that Nginx is installed and running correctly, open your web browser and enter your server's IP address or domain name in the address bar. You should see the default Nginx welcome page.

If you see the Nginx welcome page, congratulations! Nginx is now installed and running on your Debian server.

Step 5: Configure Nginx

By default, Nginx is configured to serve files from the /var/www/html directory. You can add your own configuration files to the /etc/nginx/sites-available directory and symlink them to the /etc/nginx/sites-enabled directory to enable them.

For example, to create a new virtual host configuration for a website called example.com, you would create a file called /etc/nginx/sites-available/example.com with the following contents:

server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.html;
}

Then, create a symbolic link to this file in the /etc/nginx/sites-enabled directory:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Finally, create the /var/www/example.com directory and add your website files to it.

sudo mkdir /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com

You can then reload the Nginx configuration to apply the changes:

sudo systemctl reload nginx

Conclusion

In this tutorial, we have shown you how to install Nginx on Debian. We have also demonstrated how to start the service, verify the installation, and configure Nginx to serve a website. Nginx is a powerful and flexible web server that can be used for a wide range of applications. We hope that this tutorial has been helpful in getting you started with Nginx on Debian.