My Django Project is not serving static files on Digital Ocean Server

Posted December 14, 2020 4k views
NginxDjangoPython FrameworksDeploymentUbuntu 20.04CSS

My Project files are in the root directory.
The of my project is

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS =['/root/templates/colorlib-regform-6']
STATIC_ROOT = '/root/static'
MEDIA_ROOT = '/root/media'

there are folders named static and media for holding static files

gunicorn is also working plus Nginx is also ok. No errors:


server {
    listen 80;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root / ;

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;

Then I have tried restarting gunicorn and nginx plus

python3 collectstatic

This also works fine and static files are collected.
Everything is working fine, except the server is not serving static files. The project works perfectly in local.

Any help or suggestions regarding this,

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.

Submit an Answer
1 answer

Hi @rikeshk012330,

This seems like a long shot but are you sure you are using the proper ownership and permissions. I think the issue might be exactly ownerships. Since Nginx is not using root but another group and user, most probably it’s unable to access your /static folder and server these files.

Try changing this folder and everything inside to be with the user and group of Nginx. You can find this environment setting in Nginx’s config.