How to serve files with Django and Nginx

Posted February 28, 2017 10.2k views
NginxDjangoPython FrameworksUbuntu 16.04

Hello I really need help with my static files Can someone give me step by step process on how to serve the static files

        listen 80;

        location /static {
                root /usr/local/var/www/; 

htdocs have all my static files

STATIC_URL = '/static/'

STATIC_ROOT = '/usr/local/var/www/'

I am using a template and dont know how it works

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
3 answers


What you have above should work for requests for files in the directory below.


… though it won’t handle requests for anything else, so if a file is located anywhere other than within that directory, NGINX won’t serve it.

If you’re seeing errors, please run:

tail -20 /var/log/nginx/error.log

… and paste the output in a code block.

I dont have to add nothing in my code like {% load static from staticfiles %}

Do not forget to configure these files:


very careful with the user sammy, replace with the real user