Apache-Cache aus dem WAN-Link-Plattenspeicher

1

Das Problem: Ich möchte viele digitale Fotos von einer Website hosten. Mehr als der Host hat Speicherplatz.

Der Hintergrund: Ich habe ein vps, das eine Website hostet, die Maschine hat eine Menge Bandbreite, aber nicht viel Speicherplatz (50 GB oder so). Ich habe auch einen Server in einer langsameren Internetverbindung mit viel Speicherplatz.

Meine Lösung: Ich überlegte, ob es machbar wäre, die Bilder mit dem langsamen Link auf dem Computer zu speichern, sie auf dem Webhost zu mounten (mit etwas wie sshfs oder was auch immer), dann symbolische Links für alle Bilder zu erstellen und bereitzustellen diese symbolischen Links von Apache. Erstellen Sie dann ein Skript, das die Apache-Protokolle nach der beliebtesten Anzahl von X-Dateien durchsucht und diese Dateien lokal auf den Webserver kopiert (und damit schneller).

Nach einer Weile bemerkte ich, dass dies wie eine Art Late-Night-Idee klang, und beschloss, darüber zu schlafen. An diesem Morgen klingt es immer noch ein wenig zweifelhaft, aber es muss eine Art Apache-Caching-Modul geben, das mit Disk- & gt; Disk-Caching funktioniert, oder? (Alles, was ich kenne, ist Festplattenspeicher, der wichtige Dateien in den RAM verschiebt, anstatt von einer langsameren WAN-Verbindung oder einer langsameren lokalen Festplatte auf eine lokale Festplatte zu verschieben).

TL; DR: Ist das eigentlich eine blöde Idee?

Sirex
quelle

Antworten:

1

Wenn Sie den langsameren Link-Computer für das Internet verfügbar machen können, können Sie auch einen Webserver auf diesem Computer ausführen.

Dies würde bedeuten, dass Sie den Overhead von sshfs entfernen.

Sie können das Modul "apache mod_rewrite" zusammen mit "mod_proxy" verwenden, um zu erzwingen, dass Bildanforderungen an Ihren Server gesendet werden:

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

Die RewriteCond-Regel besagt, dass das Umschreiben nur ausgeführt werden soll, wenn die angeforderte Datei nicht auf dem Server vorhanden ist. Dann sagt die RewriteRule, wenn es sich bei der Anfrage um ein Image handelt, holen Sie es sich vom langsamen Server.

Dann müssen Sie nur noch gängige Bilder verfolgen und auf den Server hochladen. Wenn sie vorhanden sind, werden sie verwendet.

Paul
quelle
hmm, das könnte funktionieren. Die Maschine, an die ich gedacht habe, enthält Apache, wird aber für benutzerdefinierte CGIs und für Dinge verwendet, die sehr wahrscheinlich unsicher sind. Möglicherweise kann ich eine zweite Apache-Instanz auf einem anderen Port ausführen, oder vielleicht auf einem VPN-Link, obwohl das den gleichen Overhead wie bei sshfs hat, den ich mir vorgestellt habe. Denkanstöße, aber diese Zeilen zum Umschreiben sind auch praktisch zu wissen.
Sirex
beschlossen, dies zu versuchen, aber vorerst mit sshfs, und zu einem anderen lokalen Ordner umzuleiten, bei dem es sich tatsächlich um die lokal gemounteten Dateien des langsamen Servers handelt. Wenn der Aufwand zu viel werde ich versuchen, die Sicherung der Apache installieren.
Sirex
0

Ich denke, was Sie suchen, ist eine Art Web-Proxy, der entscheidet, was im Cache gespeichert werden soll, gewichtet nach der Nutzung.

Vielleicht mod_proxy oder mod_cache (Es gibt sogar eine mod_disk_cache ) kann hier genutzt werden.

Ich denke, im Allgemeinen bringt die Suche nach einem "Proxy" -Skript etwas mehr, was Sie suchen, als die Suche nach einem "Cache" -Skript.

bardiir
quelle