Q:

Nginx can't access root directory in sites-available

I have basic nginx set up on my Digital Ocean droplet (Ubuntu).  I have only one root user.  In my nginx configuration file in location I have
server {
    listen 80;

    server_name site.com;

    root /var/www/html/site;
}

I tried to change it to
root /root/site

But it gives me 403 Forbidden error.  When I change it to nginx default directory
/var/www/html/site;

everything works fine. 
Why is it giving me that error?  I understand that only root user has access to root directory, but why can't browser only read files from there?  Is it okay to create another folder, not like "/var/www/html/23rdsquad;" somewhere on my server (not /root or /var/www) and use that instead? 

A:

Your Nginx user does't have permission to read directory /root/site, so:

Check directory permission
user@user:~$ ls -l /root/site | grep site
drwxrwxrwx  7 user user 4096 ago 17 16:56 site
Check Nginx user
user@user:~$ ps aux|grep nginx|grep -v grep
Nginx user configuration is "/etc/nginx/nginx.conf"
vim /etc/nginx/nginx.conf
Usually you have
"user www-data;"

1) Change directory permission either Nginx user. 
2) Restart Nginx service
user@user:~$ sudo systemctl restart nginx

