Я настраиваю проект Django в производственном режиме. Когда я обслуживал файлы через HTTP, все выглядело нормально, CSS, JS и все такое. Однако, как только я запустил certbot, стили и скрипты исчезли, и переход к ним привел к ошибке 404. Переключение моей конфигурации обратно на HTTP после запуска sudo certbot --nginx
был неудачным; статические файлы все еще не обслуживались. Поэтому я снова переключился на HTTPS. Вот моя текущая конфигурация:
/ и т.д. / nginx / сайты-доступные / мой-сайт
server {
server_name <my-IP> example.com www.example.com;
if ($host = www.example.com) {
return 301 https://example.com$request_uri;
} # managed by Certbot
location favicon.png {
alias /home/matt/my-site/staticfiles/home/img/favicon.png;
}
location /static/ {
root /home/matt/my-site/;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.example.com) {
return 301 https://example.com$request_uri;
} # managed by Certbot
if ($host = example.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name <my-IP> example.com www.example.com;
listen 80;
return 404; # managed by Certbot
}
/home/matt/my-site/my-site/settings.py
...
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles/')
Кто-нибудь знает, что могло привести к исчезновению статических файлов? Любая информация, которая поможет мне вернуть мою страницу в нормальное состояние, будет принята с благодарностью. Заранее спасибо.