1

Проблема: я хочу разместить много цифровых фотографий с веб-сайта. Больше чем у хоста есть место на диске.

Предыстория: у меня есть VPS, который размещает веб-сайт, машина имеет тонны пропускной способности, но не так много места на диске (50 ГБ или около того). У меня также есть сервер на медленной интернет-линии с большим количеством дискового пространства.

Мое решение: я подумал, будет ли возможно сохранить изображения на машине с медленной ссылкой, смонтировать их на веб-хосте (с чем-то вроде sshfs или чем-то еще), затем создать символические ссылки для всех изображений и показать эти символические ссылки от Apache. Затем создайте сценарий, который сканирует журналы apache в поисках наиболее популярного числа файлов X, и скопируйте эти файлы, чтобы они были локальными для веб-сервера (и, следовательно, быстрее).

Через некоторое время я понял, что это звучит как идея поздней ночи, и решил спать на ней. Этим утром это все еще звучит немного хитро, но должен быть какой-то модуль кэширования Apache, который работает на кеширование диска ->, верно? (все, что я знаю, это диск-> память, перемещающий важные файлы в оперативную память, а не перемещающийся на локальный диск из более медленной ссылки или более медленного локального диска).

TL; DR: Это на самом деле глупая идея?

2 ответа2

1

Если вы можете выставить более медленную машину связи в Интернет, вы также можете запустить веб-сервер на этой машине.

Это будет означать, что вы удалите издержки sshfs.

Вы можете использовать модуль apache mod_rewrite вместе с mod_proxy, чтобы заставить любые запросы изображений отправляться на ваш сервер:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /(.*)\.(jpg|gif|png) http://slow.server.com/$1.$2 [P] 

Правило RewriteCond гласит, что выполнять перезапись можно только в том случае, если запрошенный файл не существует на сервере. Затем RewriteRule сообщает, что если запрос является изображением, отправьте его с медленного сервера.

Затем отдельно нужно просто отслеживать популярные изображения и загружать их на сервер. Если они присутствуют, они будут использованы.

0

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

Поэтому, возможно, здесь можно использовать mod_proxy или mod_cache (есть даже mod_disk_cache).

В общем, я думаю, что поиск сценария «proxy» принесет вам больше того, что вы ищете, чем поиск сценария «cache».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .