Назад | Перейти на главную страницу

Проблемы Nginx со свежими перезаписанными изображениями

У меня такая проблема:

  1. Я читаю напрямую (как статический контент) изображение из https://whatever.com/static/image.png . Изображение отображается правильно.
  2. Я перезаписываю этот файл другим и снова пытаюсь прочитать его. https://whatever.com/static/image.png
  3. То, что происходит дальше, кажется одним из двух, но случайным образом:
    а. будет отображаться усеченная версия нового изображения, то есть будут отображаться все, кроме некоторой нижней части
    б. иногда изображение вообще не обслуживается и возвращается ошибка (в Chromium):
    Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
  4. Если я перезапущу nginx, изображение будет отображаться нормально.

Я могу предоставить файлы конфигурации, если они нужны.

Кто-нибудь знает, почему это происходит?

Заметил, что если выключить open_file_cache проблема больше не появится, но я все еще ищу решение, не включающее отключение файлового кеша.

Я не уверен, что это лучшее решение, но оно помогло мне:
Я изменил эти строки в nginx.conf
open_file_cache max=5000 inactive=8h;
open_file_cache_errors on;
open_file_cache_valid 1h;
open_file_cache_min_uses 1;

к
open_file_cache max=8000 inactive=5m;
open_file_cache_errors on;
open_file_cache_valid 5m;
open_file_cache_min_uses 20;

а теперь вообще нормально работает.