Maxim Dounin
October 14, 2013 10:04AM
Hello!

On Mon, Oct 14, 2013 at 08:07:57AM -0400, naive wrote:

> > Каталог для хранения временных файлов не предназначен для того,
> > чтобы в нём держали файлы дольше, чем это необходимо для обработки
> > этих файлов. Фатальных проблем при коллизиях не возникнет, см.
> > выше, но и хорошего тоже немного.
>
> По идее, весь метод с использованием client_body_in_file_only и
> client_body_temp_path изначально не предназначен для handling file upload.

Директива client_body_in_file_only как раз предназначена для того,
чтобы лишний раз не гонять тело запроса в рамках одной машины, а
записать его на диск и передать на обработку бекенду уже файл. И
та же функциональность используется в модуле DAV, но уже в рамках
самого nginx'а.

> Тем не менее, если уж использовать эту возможность, то хотелось бы избежать
> лишних действий (перемещения файлов/смены имен) и установки чего-то кроме
> nginx-extras на storage-машину.

Где вы видите лишнее действие? Файл записывается в каталог для
временных файлов под временным именем, после окончания загрузки,
если всё хорошо, - перемещается куда надо под постоянным именем
и/или обрабатывается иначе. Если вдруг во временном каталоге
остаются файлы на время большее, чем нужно для обработки - это
повод предположить наличие проблемы и заняться её решением.

Перемещение файла в рамках одной файловой системы - крайне дешёвая
операция, не стоит на ней экономить. На неудобстве работы с
получившейся помойкой, а равно на попытках найти свободное имя
для очередного файла, если файлов будет действительно много, вы
потеряете больше.

Что до установки "чего-то", то в указанном вами пакете есть как
минимум два встроенных в nginx скриптовых языка, на которых можно
сделать любую обработку.

[...]

> > Возможность влиять на имена файлов есть и сейчас, она подробно
> > документирована тут:
> >
> > http://nginx.org/r/client_body_temp_path
> >
> > А именно - можно задавать желаемую иерархию подкаталогов. Более
> > никаких возможностей для влияния не планируется.
>
> Речь как раз шла про имена файлов, поскольку level 1-3 помогает лишь решить
> вопрос максимального количества файлов в папке, но не их общего
> максимального количества и именования.

Я прекрасно понял ваш вопрос, и ответил на него максимально
подробно. Вопросов, которые вы пытаетесь решить - не стоит
при использовании client_body_temp_path по назначению. И по этой
же причине не сущетсвует планов по решению этих вопросов.

--
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Вопрос по client_body_in_file_only в контексте file upload

naive October 13, 2013 05:36PM

Re: Вопрос по client body in file only в контексте file upload

Maxim Dounin October 13, 2013 07:08PM

Re: Вопрос по client body in file only в контексте file upload

naive October 14, 2013 08:07AM

Re: Вопрос по client body in file only в контексте file upload

Anatoly Mikhailov October 14, 2013 08:50AM

Re: Вопрос по client body in file only в контексте file upload

Maxim Dounin October 14, 2013 10:04AM

Re: Вопрос по client body in file only в контексте file upload

Vadim Lazovskiy October 15, 2013 01:32AM

Re: Вопрос по client body in file only в контексте file upload

Валентин Бартенев October 27, 2013 07:20AM

Re: Вопрос по client body in file only в контексте file upload

Andrey Oktyabrskiy October 27, 2013 10:20AM

Re: Вопрос по client body in file only в контексте file upload

naive October 14, 2013 12:58PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 146
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready