Re: webdav запись файла по другому root в случае если закончилось место
Alex Domoradov
alex.hha на gmail.com
Пт Мар 18 09:25:10 UTC 2016
Если дружите с перлом, можете на нем
2016-03-18 11:07 GMT+02:00 Иван Мишин <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
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160318/42a53621/attachment.html>
Подробная информация о списке рассылки nginx-ru