Apache-Cache vom WAN-Link-Disk-Speicher

Apache-Cache vom WAN-Link-Disk-Speicher

Das Problem: Ich möchte viele digitale Fotos von einer Website hosten. Das ist mehr, als der Host über Speicherplatz verfügt.

Der Hintergrund: Ich habe einen VPS, der eine Website hostet. Die Maschine hat jede Menge Bandbreite, aber nicht viel Speicherplatz (50 GB oder so). Ich habe auch einen Server mit einer langsameren Internetleitung und viel Speicherplatz.

Meine Lösung: Ich habe überlegt, ob es machbar wäre, die Bilder auf dem Rechner mit der langsamen Verbindung 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 diese symbolischen Links von Apache aus bereitzustellen. Dann erstellen Sie ein Skript, das die Apache-Protokolle nach den beliebtesten X Dateien durchsucht, und kopieren diese Dateien lokal auf den Webserver (und damit schneller).

Nach einer Weile wurde mir klar, dass das nach einer Idee für spät in der Nacht klang, und ich beschloss, eine Nacht darüber zu schlafen. Heute Morgen klingt es immer noch ein bisschen komisch, aber es muss doch eine Art Apache-Caching-Modul geben, das mit Disk-to-Disk-Caching funktioniert, oder? (Alle, die ich kenne, sind Disk-to-Memory und verschieben wichtige Dateien in den RAM, anstatt sie von einer langsameren WAN-Verbindung oder einer langsameren lokalen Festplatte auf eine lokale Festplatte zu verschieben.)

TL;DR: Ist das tatsächlich eine dumme Idee?

Antwort1

Wenn Sie den Rechner mit der langsameren Verbindung dem Internet aussetzen können, könnten Sie auf diesem Rechner auch einen Webserver betreiben.

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

Sie können das Apache-Modul „mod_rewrite“ zusammen mit „mod_proxy“ verwenden, um zu erzwingen, dass alle 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 die Neuschreibung nur durchgeführt werden soll, wenn die angeforderte Datei auf dem Server nicht vorhanden ist. Dann besagt die RewriteRule, dass, wenn es sich bei der Anforderung um ein Bild handelt, dieses vom langsamen Server abgerufen werden soll.

Anschließend müssen Sie nur noch beliebte Bilder verfolgen und auf den Server hochladen. Wenn sie vorhanden sind, werden sie verwendet.

Antwort2

Ich glaube, Sie suchen nach einer Art Web-Proxy, der je nach Nutzung entscheidet, was im Cache gespeichert werden soll.

Also kann hier vielleicht mod_proxyoder mod_cache(es gibt sogar ein mod_disk_cache) genutzt werden.

Ich denke, dass die Suche nach einem „Proxy“-Skript Ihnen im Allgemeinen etwas mehr bringt, als die Suche nach einem „Cache“-Skript.

verwandte Informationen