казалось бы самый обычный момент, когда пользователи могут загружать контент на сайт, но сталкиваюсь с этим впервый раз.
в ext4 с некоторых пор маленькие файлы хранятся прямо в нодах, посему выбор пал на эту фс.
думаю, в лучших традициях unix-way, хранить документы (текстовые файлы, видео) следует на отдельном (монтируемом) разделе. все файлы доступные через веб-сервер лежат в /var/www/example.org/public/assets, которая уже в свою очередь будет монтироваться отдельно. правильно же?
например подключаю внешний винт, монтирую в /mnt/storage, и делаю /assets директорию биндом на /mnt/storage. если винта нет, то думаю можно создать raw файлик размером Nгб и отформатировать в какую-нибудь фс, а затем его и монтировать, и хранить все данные сайта целиком в этом файле. м?
вобщем суть, сайт (движок) лежит в /var/www/example.org, а загружаемые на сайт пользователями файлы в другом монтируемом отдельно месте.
теперь вопрос к структуре, как именно хранить все эти файлы и отдавать пользователям?
http://www.example.org/assets/images/funnycat-9000.jpg - так?
http://www.example.org/assets/ab/cd/ef1234567890 - а может раскладывать в поддиректорииях по md5 хэшам? и в sql-бд хранить оригинальное имя файла и т.п. и отдавать файл через скрипт?
такой вот нубвопрос ._.