не так давно пробегал пример, как webdav подружить с lua, чудеса уровня тех, про которые вы говорите
https://forum.nginx.org/read.php?21,259941,259941 16 марта 2016 г., 20:04 пользователь Иван Мишин <simplebo...@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