Где я должен положить все эти загруженные файлы? - PullRequest
0 голосов
/ 14 февраля 2011

Я создаю веб-приложение, которое в виде небольшого подмножества одной из функций позволяет загружать изображения. Я работаю со стеком ламп, с Mongo вместо MySql.

Я использую загрузчик javascript с php-сервером для загрузки файлов. Однако вся инфраструктура находится под контролем версий, поэтому я не хочу помещать эти файлы где-либо внутри моей инфраструктуры, поскольку это может запутаться в управлении версиями и быть неоптимальным, когда я в конечном итоге перенесу носитель в CDN.

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

И, как продолжение, если я в конечном итоге планирую переместить контент в CDN, как бы вы порекомендовали структурировать мою схему на данный момент?

Мой текущий план будет выглядеть примерно так:

  1. Все загрузки названы с уникальным ID и упал во внешнем папка, определенная глобально доступная переменная сортов.

  2. Ссылка на название каждого изображения хранится в БД.

Есть ли что-то явно глупое в том, чтобы так поступать, возможно, позже у меня начнутся головные боли?

Вот краткий конкретный вопрос, так что это немного более ДРУГКИЙ вопрос:

Учитывая Linux, Apache, Mongo, PHP Framework на VPS, каков наилучший способ хранения загруженных изображений при сохранении масштабируемости и скорости в качестве 2 самых важных факторов при выборе решения?

Ответы [ 2 ]

0 голосов
/ 25 мая 2012

Я согласен, что вы никогда не должны помещать загруженный пользователем контент в ваше веб-приложение по многим причинам, но одна из проблем заключается в том, как отобразить тег img в HTML, который принимает атрибут src относительно веб-приложения.Простой обходной путь может быть следующим: предположим, создайте папку / usr / ImagesUPloadByUser на вашем Unix-сервере и поместите туда все изображения.а затем создайте ссылку (linux link) в своем веб-приложении, которая указывает на правильный каталог.Теперь изображения не находятся в вашем веб-приложении, и у вас также есть легкий доступ.

0 голосов
/ 14 февраля 2011

Если ваш план переходит на CDN, ответ не может быть более простым: создайте поддомен на VPS и поместите туда свои изображения, и вы получите достойную симуляцию CDN и надежное хранилище файлов.

...