Hello,
In addition to what has already been mentioned, I would recommend following these steps in case that you are having any problems with your nginx server and you are unsure on what the problem is:
- Check if nginx is running:
systemctl status nginx
If nginx is running you should see something like this:
● nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-11-19 09:37:46 UTC; 2 days ago
Docs: https://httpd.nginx.org/docs/2.4/
If nginx is not running then the output would look like this:
● nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2019-11-22 08:41:01 UTC; 39s ago
Docs: https://httpd.nginx.org/docs/2.4/
- If nginx is not running you could start it with:
systemctl start nginx
Then check the status agian and make sure that nginx remains running.
- If nginx did not start after a reboot, you could enable it so that it starts after the next reboot:
systemctl enable nginx
- Check your nginx config syntax:
nginx -t
If you get an error, you would need to fix that problem and then you could restart nginx:
systemctl restart nginx
- If you get
Syntax OK
when running nginx -t
then your confiruation is correct, so I would recommend checking your error logs:
tail -f /var/log/nginx/error.log
- Check the permissions of the files and folders in your document root:
Find the user that your nginx service is running as:
ps auxf | grep nginx
If you are using Ubuntu, the user should be www-data
, so you would need to make sure that your files and folders are owned by that user, so nginx could read and write to those files:
chown -R www-data:www-data /var/www/yourdomain.com
- Check if nginx is binding to the default ports:
netstat -plant | grep '80\|443'
- Check if
ufw
allows TCP connections on port 80 and 443:
ufw status
If this is the case, you can follow the steps from this article here on how to configure your ufw
:
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04
That is pretty much it, with all of the above information you should be able to narrow down the problem.
For more information I would suggest checking out this article here:
https://www.digitalocean.com/community/tutorials/how-to-troubleshoot-common-site-issues-on-a-linux-server
And here is also a quick video demo on how to do that as well:
Hope that this helps!
Regards,
Bobby
Source: How to Troubleshoot Common Nginx Issues on Linux Server?
Can you post your NGINX Config for your domain and sub-domain?
@jasonjpeters
That is my default website nginx config, and this next one is my subdomains.
/etc/nginx/sites-available/defaut
First to help make the configuration less confusing we can change the default file to whats desplayed below.
This returns a 444 on both ports 80 and 443 with a no respnse and closes the connection. This happens for any traffic hitting the server that is not
jchud.ninja
- essentially a black hole.From what I can see the issue is you have incomplete server blocks. As I do not know what you file name is I am just going to assume it is the following…
/etc/nginx/sites-available/jchud.ninja
and we will work with the blog.* domain.we first change
server_name _ blog.jchud.ninja;
to
server_name blog.jchud.ninja;
we romove…
root /var/www/blog.jchud.ninja/html;
index index.php index.html index.htm index.nginx-debian.html;
These directive are conflicting with what I am assuming is the desired destination. The server block should look like this now. \
Note that the blog application present on port 8080 needs to be active - Also noted these settings are non-ssl configurations.
The biggest issue that I see is that your server blocks are incomplete and in some cases conflicting. A couple questions I have are what are your back ends - ie your website (wordpress?) and your blog(ghost?)?
I don’t really have a back end. The server is being run with nginx and I am coding the website myself. I am not using wordpress or any other kind of external program I am trying to build this all on my own.