http 500

Maxim Dounin mdounin at mdounin.ru
Sun Sep 15 11:32:49 UTC 2013


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