Re: Кажется это баг при подмене статического файла

Валентин Бартенев ne на vbart.ru
Чт Июн 7 00:46:30 UTC 2012


On Thursday 07 June 2012 04:02:33 ArjLover wrote:
> 2012/6/7 Валентин Бартенев <ne на vbart.ru>
> 
> > On Thursday 07 June 2012 02:02:11 ArjLover wrote:
> > > Конечно я заливаю новый player.swf, а потом делаю mv.
> > 
> > Видимо все-таки нет.
> 
> Даже не знаю что ответить. Повторить еще раз и поклясться мамой? :)

Повторить еще раз, и обнаружить, что в тот раз делали что-то еще, или что-то не 
то, или не так. =)

> > > # grep cache *
> > > nginx.conf:  open_file_cache max=10000;
> > > 
> > > Это и есть болячка в моем случае? И если это она, то как же быть?
> > 
> > Отключить "open_file_cache off;" или, как уже было сказано, использовать
> > mv.
> 
> Ну его ж не просто так включили, как жить без него на раздаче кучи статики?
> И мне непонятно слово "или", если я правильно понимаю работу этой
> директивы, то mv или нет, эффект будет один - битый файл. Собственно так у
> меня и происходит -  делаю mv и упс... Как mv заставит нжинкс сбросить кэш?

Никак, но старый файл останется невредимым и продолжит отдаваться без проблем
до тех пор, пока файл не будет переоткрыт и nginx не получит новый дескриптор
связанный уже с другим инодом.

На самом деле, включен у вас кэш дескрипторов или нет, эффект неатомарного 
изменения файла уже открытого файла одинаковый, просто наблюдать вы его будете
существенно меньше. Поэтому,в любом случае стоит обновлять файлы правильно.

--
Валентин Бартенев


Подробная информация о списке рассылки nginx-ru