Django + Gunicorn + Nginx не перезагружает старый статический файл

У меня есть сайт, работающий с комбинацией django > gunicorn > nginx.

Вот мои конфигурационные файлы

gunicorn.config


#!/bin/bash
# Name of the application
NAME="mediadbin"
DJANGODIR=/home/mediaroot/mediadbin/mediadbin
NUM_WORKERS= $(( $(nproc) * 2 + 1 ))
DJANGO_SETTINGS_MODULE=mediadbin.settings
DJANGO_WSGI_MODULE=mediadbin.wsgi
echo "Starting $NAME as `whoami`"
cd $DJANGODIR
ENV=new_django
source /root/.virtualenvs/new_django/bin/activate
exec gunicorn ${DJANGO_WSGI_MODULE}:application \
--timeout 600
--name $NAME \
--workers &NUM_WORKERS \
--bind=127.0.0.1 \
--log-level=debug \
--log-file=-

Мой сайт включен в nginx congif

server {
    listen       80;
    server_name  mediadbin.n-media.co.jp;
    client_max_body_size 500M;
    access_log /home/mediaroot/mediadbin/logs/nginx-access.log;
    error_log /home/mediaroot/mediadbin/logs/nginx-error.log;
    server_tokens off;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host               $host;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host   $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP          $remote_addr;
    }
    location /static {
        alias /home/mediaroot/mediadbin/mediadbin/static;
    }
    location /media {
        alias /home/mediaroot/mediadbin/mediadbin/media;
    }
    include global404;
}

У меня есть мои статические файлы в

/home/mediaroot/mediadbin/mediadbin/main_app/static/main_app

(как для разработки), а также собранные в

/home/mediaroot/mediadbin/mediadbin/static

для развертывания.

В обеих папках содержится newest static files. Вот в чем проблема: Когда я пытаюсь обновить существующие статические файлы: например x.js или x.jpg, имя которых уже существовало на сайте ранее, статические файлы не обновляются до самого нового файла. Но когда я меняю имя на что-то новое <- что-то, что не существовало на странице ранее, например y.jpg эти файлы добавляются на сайт после перезапуска моих служб.

Я пытался:

sudo systemctl restart unicorn.service // my gunicorn service pointing to gunicorn.config
sudo systemctl restart nginx.service
python manage.py collectstatic

также перезагрузите машину, очистите кэш в браузере, смените браузер.

Ничего не сработало. Я не уверен, что nginx где-то подхватывает статические файлы или что. Но когда я смотрю на исходный код сайта, запущенного через nginx и gunicorn, доступны только файлы с новыми именами, а старые файлы не изменены. Когда я запускаю сайт из файла manage.py (сервер разработки на python) и смотрю исходный код, эти файлы заменяются на самые новые. Так что проблема должна быть в nginx или gunicorn, я думаю.

Я также искал var/cache/nginx <= не существует

Вернуться на верх