Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: http 500
Спасибо за ответ.
Дело в том, что не важно сколько времени прошло после сохранения (можно успеть
по диалапу файл залить и сохранить), первая попытка запросить файл после
изменения отдаст 500. Может, nginx кеширует какие-то данные о файле между
запросами?
15.09.2013, 15:32, "Maxim Dounin" <mdounin@xxxxxxxxxx>:
> 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@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|