How to create subdomain with nginx server in the same droplet

October 13, 2016 18.5k views
Nginx DNS Ubuntu

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.

TIA

2 Answers

Hello,

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/sub.test.com
You also need to have your DNS records setup properly, so your subdomain redirects to your droplet.
For example:

sub.test.com. 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 test.com to anything that reminds you of the config):

sudo nano /etc/nginx/sites-available/sub.test.com

Inside the configuration place and edit the following:

server {
        listen 80;

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

        server_name sub.test.com www.sub.test.com;

        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/sub.test.com /etc/sites-enabled/sub.test.com

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

      /usr/share/nginx/folder
      

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

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 Assaf Gordon
Here's some documentation on how to set up and test DNS subdomains with DigitalOcean's DNS panel.
Have another answer? Share your knowledge.