Re: http 500
Ещё раз спасибо за крайне исчерпывающий ответ. Пойду почитаю. 15.09.2013, 16:25, "Maxim Dounin" : > Hello! > > On Sun, Sep 15, 2013 at 03:46:59PM +0400, Васильев "Zmey!" Олег wrote: > >> Спасибо за ответ. >> Дело в том, что не важно сколько времени прошло после сохранения >> (можно успеть по диалапу файл залить и сохранить), первая >> попытка запросить файл после изменения отдаст 500. > > Насколько я понимаю, так ведёт себя самба - блокировка файла > отпускается только в тот момент, когда кто-нибудь ещё попытается > его открыть. > >> Может, nginx >> кеширует какие-то данные о файле между запросами? > > Со своей стороны nginx что-либо кеширует только в том случае, если > его об этом явно попросили, настроив open_file_cache. Но к > обсуждаемой проблеме это имеет очень опосредованное отношение - > при использовании open_file_cache гораздо проще наблюдать > негативные последствия редактирования файлов по месту. > > Ошибки открытия файлов при редактировании файлов через самбу на > линуксе - это отдельная проблема. Если хочется понять, что там > происходит, то стоит начать с чтения чего-нибудь вроде вот этого: > > http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/locking.html#id2616903 > > Но, как я уже писал, пытаться редактировать файлы "по месту" - в > любом случае неправильно. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
Hello! On Sun, Sep 15, 2013 at 03:46:59PM +0400, Васильев "Zmey!" Олег wrote: > Спасибо за ответ. > Дело в том, что не важно сколько времени прошло после сохранения > (можно успеть по диалапу файл залить и сохранить), первая > попытка запросить файл после изменения отдаст 500. Насколько я понимаю, так ведёт себя самба - блокировка файла отпускается только в тот момент, когда кто-нибудь ещё попытается его открыть. > Может, nginx > кеширует какие-то данные о файле между запросами? Со своей стороны nginx что-либо кеширует только в том случае, если его об этом явно попросили, настроив open_file_cache. Но к обсуждаемой проблеме это имеет очень опосредованное отношение - при использовании open_file_cache гораздо проще наблюдать негативные последствия редактирования файлов по месту. Ошибки открытия файлов при редактировании файлов через самбу на линуксе - это отдельная проблема. Если хочется понять, что там происходит, то стоит начать с чтения чего-нибудь вроде вот этого: http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/locking.html#id2616903 Но, как я уже писал, пытаться редактировать файлы "по месту" - в любом случае неправильно. -- Maxim Dounin http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
2013/9/15 Васильев "Zmey!" Олег : > Может, nginx кеширует какие-то данные о файле между запросами? Может, и кеширует. Мы же не видали вашего конфига. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
Спасибо за ответ. Дело в том, что не важно сколько времени прошло после сохранения (можно успеть по диалапу файл залить и сохранить), первая попытка запросить файл после изменения отдаст 500. Может, nginx кеширует какие-то данные о файле между запросами? 15.09.2013, 15:32, "Maxim Dounin" : > 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@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
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@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
Возможно и не верное предположение, но похоже на какую-то блокировку файла на чтение. -- Best regards, Alexey Bobok 15.09.2013, в 14:10, "Васильев \"Zmey!\" Олег" написал(а): > Ну сайт, как и сказал - статический. Голый 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 локально, то проблемы нет. > > 15.09.2013, 05:46, "Алексей Бобок" : >> Вы действительно думаете, что без хотя бы символического предисловия >> об архитектуре Вашего сервера, ПО, языка попиливания и прочих данных, >> Вам помогут и напишут "ей, чувак, так тебе надо включить 3 опции и и >> фиксануть пару функций"? >> В лучшем случае в менее профессиональной рассылке Вам ответят "Пых >> фуфло, Рельсы рулят!" >> >> Конкретизируйте. >> >> -- >> Best regards, >> Alexey Bobok >> >> 15.09.2013, в 2:12, "Васильев \"Zmey!\" Олег" написал(а): >> >>> Hello everybody! >>> Попиливаю маленький статический сайтик. После сохранения файла первый его >>> запрос возвращает HTTP 500. Второй возвращает обновлённую страницу. Почему >>> так? >>> ___ >>> nginx-ru mailing list >>> nginx-ru@nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> ___ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
Ну сайт, как и сказал - статический. Голый 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 локально, то проблемы нет. 15.09.2013, 05:46, "Алексей Бобок" : > Вы действительно думаете, что без хотя бы символического предисловия > об архитектуре Вашего сервера, ПО, языка попиливания и прочих данных, > Вам помогут и напишут "ей, чувак, так тебе надо включить 3 опции и и > фиксануть пару функций"? > В лучшем случае в менее профессиональной рассылке Вам ответят "Пых > фуфло, Рельсы рулят!" > > Конкретизируйте. > > -- > Best regards, > Alexey Bobok > > 15.09.2013, в 2:12, "Васильев \"Zmey!\" Олег" написал(а): > >> Hello everybody! >> Попиливаю маленький статический сайтик. После сохранения файла первый его >> запрос возвращает HTTP 500. Второй возвращает обновлённую страницу. Почему >> так? >> ___ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
Здравствуйте, Васильев. Вы писали 15 сентября 2013 г., 6:12:21: > Hello everybody! > Попиливаю маленький статический сайтик. После сохранения файла первый его > запрос возвращает HTTP > 500. Второй возвращает обновлённую страницу. > Почему так? Надо смотреть логи. Возможно, также потребуется повысить уровень детализации сообщений. -- С уважением, Pavel mailto:pavel2...@ngs.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http 500
Вы действительно думаете, что без хотя бы символического предисловия об архитектуре Вашего сервера, ПО, языка попиливания и прочих данных, Вам помогут и напишут "ей, чувак, так тебе надо включить 3 опции и и фиксануть пару функций"? В лучшем случае в менее профессиональной рассылке Вам ответят "Пых фуфло, Рельсы рулят!" Конкретизируйте. -- Best regards, Alexey Bobok 15.09.2013, в 2:12, "Васильев \"Zmey!\" Олег" написал(а): > Hello everybody! > Попиливаю маленький статический сайтик. После сохранения файла первый его > запрос возвращает HTTP 500. Второй возвращает обновлённую страницу. Почему > так? > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
http 500
Hello everybody!Попиливаю маленький статический сайтик. После сохранения файла первый его запрос возвращает HTTP 500. Второй возвращает обновлённую страницу. Почему так? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru