Here are my settings :
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = '/home/django-projects/tshirtnation/staticfiles'
Here's my nginx configuration:
server {
server_name 77.241.197.95;
access_log off;
location /static/ {
alias /home/django-projects/tshirtnation/staticfiles/;
}
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"';
}
}
I've run python manage.py collectstatic
and it has copied all static files. I run my server with gunicorn_django --bind:my-ip:8001 and everything seems to be working except for static files.
EDIT: I've run
sudo tail /var/log/nginx/error.log
and there seems to be no errors of static files not found :/
Try to remove slash in nginx settings followed by static e.g. It should be "/static" not "/static/", and if your settings were fine then try to reload the server on local machine and try rebooting on remote machine. I faced similar but after rebooting the machine, fixed the issue.
Try adding the
^~
prefix modifier to your static location to skip checking regular expressions:try this in settings.py:
and config file in nginx(or your server setting):
Use STATIC_URL with domain. It's important!
I encountered the same problem and was able to fix my nginx configuration by removing the trailing
/
from the/static/
location.