Question

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

Posted May 2, 2017 5.7k views
Nginx Ubuntu DNS Django

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

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.

2 answers

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.

Submit an Answer