Linux Tactic

Efficiently Manage Multiple Websites with Nginx Server Blocks on Debian 10

Setting up Nginx Server Blocks on Debian 10

Are you a website developer or system administrator who manages multiple websites on a Debian system? Do you know that setting up Nginx Server Blocks on Debian 10 can help you manage multiple websites on a single server efficiently?

In this article, we will guide you through the basics of setting up Nginx Server Blocks on Debian 10, including creating directories, creating a server block, and installing an SSL certificate.


Before we dive in, you need to have a domain name set up and pointed to your Debian server’s IP address. You should also be logged in as root or a user with sudo privileges to follow along with the tutorial.

Creating the Directory Structure

The directory structure is important for storing your website files. You need to create a document root where you will store your website files.

Let’s assume your domain name is “” Create a directory under “var/www” with the name “” using the command below:


sudo mkdir -p /var/www/


In this example, “/var/www/” is your document root. This is where you will store your website files.

Creating a Server Block

Nginx server blocks allow you to set different configuration files for multiple domains on a single server. To create a server block, go to the “/etc/nginx/sites-available” directory and create a new file with the name “” using the command below:


sudo nano /etc/nginx/sites-available/


Once you have done that, copy and paste this configuration:


server {

listen 80;


root /var/www/;

index index.html index.htm index.nginx-debian.html;

location / {

try_files $uri $uri/ =404;




In this configuration, “listen 80” indicates that the server block will listen on Port 80.

“server_name” is your domain name. “root” is the document root path that we created in the previous step.

“index” specifies the order in which index files will be served. Lastly, “location” specifies the configuration to apply to the location.

Now that you have created your server block, you need to create a symbolic link from the sites-enabled directory to make it active. “`

sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/


Lastly, restart the Nginx service to apply the new configuration.


sudo systemctl restart nginx


Letsencrypt SSL Certificate

Now that your website is configured to work with http, let’s add an SSL certificate to encrypt your traffic. The setup for this will vary depending on your domain name’s DNS configuration, but the general steps are outlined below.

1. Install Certbot with the command below.


sudo apt-get install certbot python-certbot-nginx


2. Install the SSL certificate using the command below.


sudo certbot –nginx -d -d


3. Certbot will now obtain a new SSL certificate and update your Nginx configuration automatically.

Single Server Hosting Multiple Websites

If you have a single server, setting up Nginx Server Blocks on Debian 10 will allow you to host multiple websites efficiently. With Nginx server blocks, you have the ability to configure different settings for each domain, including SSL certificates.

Advantages of Server Block

One of the advantages of using Nginx’s server blocks is that you can manage multiple domains on a single server. This is a cost-effective solution that allows you to utilize your hardware resources efficiently.

Furthermore, each domain can have a separate security policy, allowing you to customize security settings specific to each site.

Limitations of Server Block

While Nginx’s server blocks are beneficial, there are some limitations to keep in mind. One potential issue is that server overload can occur if too many domains are hosted on a single server.

Additionally, server traffic capacity can become a bottleneck depending on the server’s hardware resources.


With this tutorial, you now know how to set up Nginx Server Blocks on Debian 10. You can now set up multiple websites on your server without any worries.

You also learned how to install an SSL certificate for your website. Remember to configure server blocks when hosting multiple sites on the same server and keep in mind the limitations of having multiple websites on a single server.

In this article, we have provided a step-by-step guide on how to set up Nginx server blocks on Debian 10 for efficient website management. We started with the prerequisites and then proceeded to create the directory structure, set up the server block, and install an SSL certificate for secure traffic.

Apart from this, we discussed how using server blocks is beneficial for managing multiple websites on a single server. Finally, we emphasized the importance of these configurations in maximizing hardware resources efficiently.

By following these steps, website developers and system administrators can manage multiple domains securely and cost-effectively on a single server.

Popular Posts