Own domain set up with DNS, only see "Welcome to nginx!"

May 2, 2017 326 views
Django Nginx DNS Ubuntu

Hi,

I have deployed a Django app that is serving a REST API on Ubuntu 14.04 through Nginx. Everything works fine when I visit XX.XXX.XXX.XXX/example/api.json.

However, I have bought my own domain and followed the guide to connect it to my droplet, and I have some problems. When I go to mydomain.com I get the "Welcome to nginx" message, and if I go to mydomain.com/example.api.json, I get a 404 Not Found | nginx/1.4.6 (Ubuntu).

What have I done wrong, and how can I start to look for bugs?

Thanks,
Christian

2 Answers
christianborre May 2, 2017
Accepted Answer

I solved it. I had to add the domain under the settings for nginx, where I previously had the IP. So if anyone else has this problem, type "sudo nano /etc/nginx/sites-available/yourproject" and add the domain names after "servername" (probably both www.example.com and example.com).

@christianborre

Just for reference, you'll want to setup a server block for each domain that you point to the Droplet.

So if you have domain01.com, domain02.com, etc, you'll want to setup a new file for each site like so:

/ect/nginx/sites-available/domain01.com.conf
/etc/nginx/sites-available/domain02.com.conf
etc

Any configuration changes or additions requires that NGINX be reloaded or restarted:

service nginx reload
service nginx restart

or if you're server is using systemctl:

systemctl reload nginx
systemctl restart nginx

If you run in to any issues, you can check the error log which should be located at:

/var/log/nginx/error.log

You can tail the login to pull just a few lines from it -- for example:

tail -20 /var/log/nginx/error.log

The above will pull the last 20 lines from the error log.

Have another answer? Share your knowledge.