Django static files with nginx and unicorn Django static files with nginx and unicorn nginx nginx

Django static files with nginx and unicorn


To serve static files do it in nginx level like

server {server_name 188.xxx.xxx.93;access_log off;location ~ ^/(static)/  {  #  root:- you static files path  #  alias /opt/myapps/uniprogress/static/;     root /opt/myapps/uniprogress/static/;}location / {    proxy_pass http://127.0.0.1:8001;    proxy_set_header X-Forwarded-Host $server_name;    proxy_set_header X-Real-IP $remote_addr;    add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';}}

Now all static files will serve from your nginx.


Your STATIC_ROOT is collecting static files at:

/opt/myapps/uniprogress/opt/myapps/uniprogress/static/

That doesn't match your server configuration, which points at:

opt/myapps/uniprogress/static/

STATIC_ROOT is just a folder that holds all your static files (images, css, everything) in one place for deployment, so set it to something like '/collected_static/' and fix the server configuration.


Check this things

1 Whether the static older is accessible by nginx, I mean the folder permission .

2 Or do this

Replace this:

STATIC_ROOT = '/opt/myapps/uniprogress/static/'

with this

STATIC_ROOT = ''

And add this in settings

STATICFILES_DIRS = (     '/opt/myapps/uniprogress/static/',)

Hope this works.