Nginx не обслуживает статические файлы /Django
Когда я развертываю свой проект на сервере, используя Nginx и Gunicorn, статические файлы не загружаются.
Вот как выглядит мой сайт после развертывания
nginx.service выглядит следующим образом
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
server {
listen 8081;
server_name 0.0.0.0;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root home/zp_dashboard_testing_python/zp_main/staticfiles;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/run/gunicorn.sock; }
}
}
settings.py
BOOTSTRAP4 = {
'include_jquery': True,
}
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
Я выполнил команду collectstatic и она выдает несколько предупреждений файл уже найден по пути назначения, но это просто предупреждение, а не ошибка.
журналы ошибокnginx выглядят следующим образом
P.S: Замена root на alias в файле nginx.service тоже не помогла. Я думаю, это не относится к gunicorn.
nginx пытается найти статические файлы в /etc/nginx/home/zp_dashboard_testing_python/zp_main/staticfiles/. Но похоже, что ваши статические файлы находятся в /home/zp_dashboard_testing_python/zp_main/staticfiles. Как предложил @Niloct, измените location /static/ на
location /static/ {
root /home/zp_dashboard_testing_python/zp_main/staticfiles;
}

