http 500

Васильев "Zmey!" Олег zmey1992 at ya.ru
Sun Sep 15 11:46:59 UTC 2013


Спасибо за ответ.
Дело в том, что не важно сколько времени прошло после сохранения (можно успеть по диалапу файл залить и сохранить), первая попытка запросить файл после изменения отдаст 500. Может, nginx кеширует какие-то данные о файле между запросами?

15.09.2013, 15:32, "Maxim Dounin" <mdounin at mdounin.ru>:
> Hello!
>
> On Sun, Sep 15, 2013 at 03:10:19PM +0400, Васильев "Zmey!" Олег wrote:
>
>>  Ну сайт, как и сказал - статический. Голый HTML без всяких SSI и любой динамической генерации. Я бы упомнял, если бы было иначе.
>>  В остальном я и вправду, пожалуй, неправ. Исправляюсь:
>>  Ось Ubuntu 12.04
>>  Linux pyxis-server 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013 i686 i686 i386 GNU/Linux
>>  nginx:
>>  nginx version: nginx/1.4.2
>>  built by clang 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)
>>  TLS SNI support enabled
>>  configure arguments: --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --with-http_ssl_module --with-http_random_index_module --with-http_stub_status_module --with-cpu-opt=pentium4 --with-cc=/usr/bin/clang --with-cpp=/usr/bin/clang
>>
>>  В error логе:
>>  2013/09/15 14:44:57 [crit] 22654#0: *103 open() "<путь стёрт>" failed (11: Resource temporarily unavailable)
>>
>>  Редактирование производится через Sublime Text 2 по сети через Samba-шару.
>>  Как я и сказал, проблема воспроизводится после изменения и сохранения файла. Если вносить изменения через nano локально, то проблемы нет.
>
> Самба на линуксе пытается использовать для блокировок
> fcntl(F_GETLEASE), если не ошибаюсь, что и заканчивается ошибками
> при попытке доступа к файлам, редактируемым через самбу.
>
> Вообще не надо редактировать файлы по месту.  Надо создавать новую
> версию файла, после чего атомарно заменять с помощью rename()/mv.
> Если же редактировать по месту - имеет место race между отдачей
> клиенту заголовков ответа, в частности - Content-Length, и телом
> ответа.
>
> --
> Maxim Dounin
> http://nginx.org/en/donation.html
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



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