Re: webdav запись файла по другому root в случае если закончилось место

Илья Шипицин chipitsine на gmail.com
Пн Мар 21 08:33:18 UTC 2016


1) насчет трети российских сайтов, мне почему-то так запомнилось, видимо, я
неправильно понял вот эту новость

https://geektimes.ru/post/270502/

(сами CloudFlare говорят про 2 миллиона доменов)

2) насчет количества тестов, инфа общедоступна
https://github.com/openresty/lua-nginx-module/tree/master/t

самое крупное внедрение, это, наверное, сам CloudFlare. у нас внедрение
есть, в 2gis есть. проблем по части nginx-lua не помню ни разу

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

21 марта 2016 г., 13:14 пользователь Aleksandr Sytar <sytar.alex на gmail.com>
написал:

>
>
> 21 марта 2016 г., 7:42 пользователь Илья Шипицин <chipitsine на gmail.com>
> написал:
>
>> модуль nginx-lua разрабатывается в CloudFlare, по некоторым оценкам через
>> CloudFlare проксируется треть российских сайтов, модуль покрыт тестами (их
>> почти 3000), понятно, что гарантий вам никто не даст и использование будет
>> на ваш риск.
>>
>
> Илья откуда такая инфа?
>
>
>>
>> 18 марта 2016 г., 14:07 пользователь Иван Мишин <simplebox66 на gmail.com>
>> написал:
>>
>> Я подумывал о lua изначально, да только вот эта
>>> https://forum.nginx.org/read.php?21,265294,265310 рассылка всю охоту к
>>> lua отбила у меня.
>>>
>>>
>>> 18 марта 2016 г., 8:25 пользователь Илья Шипицин <chipitsine на gmail.com>
>>> написал:
>>>
>>> не так давно пробегал пример, как webdav подружить с lua, чудеса уровня
>>>> тех, про которые вы говорите
>>>>
>>>> https://forum.nginx.org/read.php?21,259941,259941
>>>>
>>>> 16 марта 2016 г., 20:04 пользователь Иван Мишин <simplebox66 на gmail.com>
>>>> написал:
>>>>
>>>>> Добрый день!
>>>>>
>>>>> Вопрос следующий:
>>>>> Есть nginx 1.8.1, на нем настроен вебдав. Конфиг простой
>>>>>
>>>>>>  server {
>>>>>>         listen 80;
>>>>>>         server_name     testdav;
>>>>>>
>>>>>>        access_log /var/log/nginx/testdav_access.log main;
>>>>>>        error_log /var/log/nginx/testdav_error.log error;
>>>>>>                 location / {
>>>>>>                 root /tmp/ram/testdav;
>>>>>>                 open_file_cache off;
>>>>>>                 client_max_body_size 1000m;
>>>>>>                 dav_methods PUT;
>>>>>>                 dav_access user:rw group:r all:r;
>>>>>>                 create_full_put_path on;
>>>>>>         }
>>>>>
>>>>> В случае когда nginx записывает файл в  /tmp/ram/testdav и там
>>>>> кончается место, хочется сделать так чтобы nginx этот файл записал в другое
>>>>> место /tmp2/ram/testdav.
>>>>> Есть идеи как это реализовать?
>>>>> В случае нехватки места nginx отдает 500 ошибку. пробовал конфиг
>>>>>
>>>>>> server {
>>>>>>         listen 80;
>>>>>>         server_name     testdav;
>>>>>>
>>>>>>        access_log /var/log/nginx/testdav_access.log main;
>>>>>>        error_log /var/log/nginx/testdav_error.log error;
>>>>>>
>>>>>>         location / {
>>>>>>                          error_page      500 = @e500;
>>>>>>
>>>>>>                 root /tmp/ram/testdav;
>>>>>>                 open_file_cache off;
>>>>>>                 client_max_body_size 1000m;
>>>>>>
>>>>>>                 dav_methods PUT;
>>>>>>                 dav_access user:rw group:r all:r;
>>>>>>                 create_full_put_path on;
>>>>>>         }
>>>>>>
>>>>>>         location @e500 {
>>>>>>                  root /tmp2/ram/testdav;
>>>>>>                 open_file_cache off;
>>>>>>                 client_max_body_size 1000m;
>>>>>>                 dav_methods PUT;
>>>>>>                 dav_access user:rw group:r all:r;
>>>>>>                 create_full_put_path on;
>>>>>>         }
>>>>>> }
>>>>>
>>>>>
>>>>> Но не работает, в логах:
>>>>>
>>>>>> 2016/03/16 17:40:20 [alert] 15872#0: *1 write() has written only
>>>>>> 24576 of 2338816 to /tmp/ram/testdav/tengine.tar.0000000002, client:
>>>>>> 127.0.0.1, server: testdav, request: "PUT /tengine.tar HTTP/1.1", host:
>>>>>> "testdav"
>>>>>> 2016/03/16 17:40:20 [crit] 15872#0: *1 chmod()
>>>>>> "/var/cache/nginx/client_temp/0000000001" failed (2: No such file or
>>>>>> directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar
>>>>>> HTTP/1.1", host: "testdav"
>>>>>> 2016/03/16 17:40:20 [crit] 15872#0: *1 unlink()
>>>>>> "/var/cache/nginx/client_temp/0000000001" failed (2: No such file or
>>>>>> directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar
>>>>>> HTTP/1.1", host: "testdav"
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160321/95fa1820/attachment.html>


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