Apache Caché de Wan Link Disk Store

1

El problema: quiero alojar muchas fotos digitales de un sitio web. Más que el host tiene espacio en disco.

El fondo: tengo un vps que aloja un sitio web, la máquina tiene toneladas de ancho de banda pero no mucho espacio en disco (50 gb más o menos). También tengo un servidor en una línea de Internet más lenta con mucho espacio en disco.

Mi solución: estaba pensando, ¿sería posible almacenar las imágenes en la máquina con el enlace lento, montarlo en el servidor web (con algo como sshfs o lo que sea), luego crear enlaces simbólicos para todas las imágenes y servirlas? esos enlaces simbólicos de apache. Luego cree un script que escanee los registros de apache buscando el número X más popular de archivos, y copie esos archivos para que sean locales en el servidor web (y, por lo tanto, más rápido).

Después de un tiempo, me di cuenta de que esto sonaba como una idea de tipo nocturno, y decidí dormir sobre ella. Esta mañana todavía suena un poco dudoso, pero debe haber algún tipo de módulo de almacenamiento en caché apache que funcione en disco-> almacenamiento en caché de disco, ¿verdad? (todos los que conozco son disco-> memoria, moviendo archivos importantes a ram en lugar de mover a un disco local desde un enlace wan más lento o un disco local más lento).

TL; DR: ¿Es realmente una idea tonta?

Sirex
fuente

Respuestas:

1

Si puede exponer la máquina de enlace más lenta a Internet, también podría ejecutar un servidor web en esa máquina.

Esto significaría que elimina la sobrecarga de sshfs.

Puede usar el módulo apache mod_rewrite junto con mod_proxy para forzar que cualquier solicitud de imagen vaya a su servidor:

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

La regla RewriteCond dice que solo reescriba si el archivo solicitado no existe en el servidor. Luego, RewriteRule dice que si la solicitud es una imagen, ve a buscarla desde el servidor lento.

Luego, por separado, solo necesita rastrear imágenes populares y subirlas al servidor. Si están presentes, serán utilizados.

Pablo
fuente
hmm, eso podría funcionar. La máquina en la que estaba pensando tiene apache, pero se usa para CGI personalizados y cosas que probablemente sean inseguras. Sin embargo, podría ejecutar una segunda instancia de apache en otro puerto, o tal vez un enlace vpn, aunque eso tendría la misma sobrecarga que sshfs que imagino. Sin embargo, es bueno saber también esas líneas de reescritura.
Sirex
decidió probar esto, pero con los sshfs por ahora, y redirigir a otra carpeta local que en realidad son los archivos del servidor lento montados localmente. Si la sobrecarga es demasiado, intentaré asegurar la instalación de Apache.
Sirex
0

Creo que lo que está buscando es algún tipo de proxy web que decida qué debe mantenerse dentro de la memoria caché ponderada en el uso.

Entonces tal vez mod_proxyo mod_cache(incluso hay un mod_disk_cache) se puede aprovechar aquí.

Creo que, en general, buscar un script 'proxy' le traerá algo más de lo que está buscando que buscar un script 'cache'.

bardiir
fuente