How to create subdomain with nginx server in the same droplet

Posted October 13, 2016 236.4k views

I am new at digital ocean. I have created a droplet and a domain. It will be great help if i get dns configuration for subdomain and step by step procedure to create a subdomain in same droplet.


These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
5 answers


You can easily make a website on any (sub)domain you would like to use.

First of all you would need the website files. You can put them somewhere inside /var/www.
In this “tutorial” we will use /var/www/
You also need to have your DNS records setup properly, so your subdomain redirects to your droplet.
For example: 1800 IN A 123.345.234.4

Now you can configure nginx to serve a specific website on a specific domain. Make a new configuration in nginx (rename to anything that reminds you of the config):

sudo nano /etc/nginx/sites-available/

Inside the configuration place and edit the following:

server {
        listen 80;

        root /var/www/;
        index index.html index.htm index.nginx-debian.html;


        location / {
                try_files $uri $uri/ =404;

<^>Inside this configuration modify the following to your specific setup:

  • root (your website file directory)
  • server_name (your website domain)<^>

Now you need to enable the configuration, make a symlink to the enabled sites:

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

Last thing to do is restart nginx:

service nginx restart

You should now be able to check the website on your subdomain.
Hope it will work, if you have any questions just ask!

  • Hello, Thanks for your reply. My main project is ruuning and they are into this folder usr/share/nginx/folder

    Now i want to create subdomain where i can host my blog site.

    And also teach me how to configure DNS records properly for subdomain

    • Do exactly what I said, but change the directory inside the configuration into


      If you still can’t figure it out, you can contact me on skype: cryptic-designs


<^>Now you need to enable the configuration, make a symlink to the enabled sites:

ln -s /etc/sites-available/ /etc/sites-enabled/<^>

I think it’s

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

change this comand ln -s /etc/nginx /sites-available/ /etc/sites-enabled/ to ln -s /etc/nginx /sites-available/ /etc/sites-enabled/ :)

There’s a mistake in this article… you’ve left out the /nginx directory. So:

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

…should be…

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

follow this tutorial
How To Set Up Nginx Server Blocks (Virtual Hosts) on Ubuntu 14.04 LTS

after that just add CNAME for that subdomain in DNS settings
if you need details on DNS settings, check this tutorial

How To Set Up and Test DNS Subdomains with DigitalOcean’s DNS Panel

by Justin Ellingwood
Nginx is an incredibly powerful web server and reverse proxy. In this guide, we'll discuss how to set up server blocks on Ubuntu 14.04 in order to server multiple domains from a single server.