Home > Software design >  Nginx Static Files doesn't load Django
Nginx Static Files doesn't load Django

Time:09-29

Nginx won't load Django static files.

Nginx config:

upstream backend {
    server localhost:8000;
}

server {
        server_name wavera.ru www.wavera.ru;
           location / {
            include proxy_params;
               proxy_pass http://backend;
        }
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/www.wavera.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.wavera.ru/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location /static/ {
        alias /root/labelEngine/labelApp/static/;
    }

    location /media/ {
        alias /root/labelEngine/media/;
    }
    
}

server {
    if ($host = wavera.ru) {
        return 301 https://$host$request_uri;
    }
    if ($host = www.wavera.ru) {
        return 301 https://$host$request_uri;
    }
    listen 80 ;
    server_name wavera.ru www.wavera.ru;
    return 404;
}


Static files directory:

Media files directory:

settings.py of static files:

STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = "/media/"

And also urls have:

   static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Otherwords, i just want to turn off debug mode and make sure my website and static / media files work correctly. I try to do this by whitenoise, but its didnt support media files, so i try to set up nginx config. What i am doing wrong?

CodePudding user response:

Have you tried to configure nginx creating a new user? Try to follow digitalocean's tutorial on deploying django application with nginx and gunicorn. But create a new user first, you will see the guideline in their site.

CodePudding user response:

One answer might be that by changing the user, you should be able to access resources. In the "nginx.conf" file, at the top you can add/edit the user that is accessing the resources with this string

user "USER_PROJECT_OWNER";

  • Related