кэш apache из хранилища wan link disk

кэш apache из хранилища wan link disk

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

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

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

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

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

решение1

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

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

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

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

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

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

решение2

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

Так что, возможно mod_proxy, или mod_cache(есть даже mod_disk_cache) можно здесь использовать.

Я думаю, что в целом поиск скрипта «прокси» даст вам больше того, что вы ищете, чем поиск скрипта «кэш».

Связанный контент