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.