Zum Inhalt springen

FAQ

Wie installiere ich einen varnish Cache?

Der varnish Cache (https://www.varnish-cache.org/) ist eine Caching-Server den man bei hohem Besucheraufkommen direkt 'vor' den Apache installieren kann, um eine besonders hohe Last bewältigen zu können.

Die Installation gelingt am einfachsten über den Paketmanager, da für den varnish Cache auf unserem System keine besonderen wichtigen Compilerschalter geändert werden müssen (sonst würde man die Ports bevorzugen).

Um die aktuell verfügbare Version zu finden, geben Sie folgenden Suchbefehl ein:

pkg search varnish

Ihnen werden alle aktuell verfügbaren Pakete mit 'varnish' im Namen aufgelistet, auch der varnish selbst:

varnish-libvmod-saintmode-1.0.0_1 Varnish Module (vmod) for detecting failing backends
varnish4-4.1.0_2 High-performance HTTP accelerator

Da wir uns normalerweise als admin per ssh verbinden, aber zur Installation Superuser Rechte nötig sind, führen wir die Installation mit einem vorangestellten 'sudo' aus:

sudo pkg install varnish4 

Wir werden nach dem Passwort für 'root' gefragt und direkt nach der Eingabe wird uns vom Paketmanagaer gezeigt, was er für uns installieren würde:

The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
varnish4: 4.1.0_2

The process will require 2 MiB more space.
1 MiB to be downloaded.

Proceed with this action? [y/N]:

Nach der Eingabe von 'y' wird die eigentliche Installation in Sekunden durchgeführt.
Damit varnish in der Konsole auch gefunden wird, müssen wir noch einmal 'rehash' eingeben. Genau wie bei jeder Installation mit dem pkg Paketmanager.

Nun ist das neue binary unter '/usr/local' installiert, aber es müssen noch kleine Änderungen an den Konfigurationen durchgeführt werden, damit in Zukunft der varnish seine Arbeit vollständig verrichten kann.

Hier sind Änderungen an drei Dateien nötig:

/etc/rc.conf

In diese Datei müssenSie (z.B. mit pico oder vi) folgende Zeilen einfügen:

varnishd_enable="YES"
varnishd_listen=":80"
varnishd_config="/usr/local/etc/varnish/default.vcl"
varnishd_storage="malloc,256m"

Dadurch startet der varnish Cache auch automatisch bei einem Neustart des gesamten Servers und hat alle benötigten Einstellungen beim Aufruf.

/etc/apache24/httpd.conf

Auch die Hauptkonfigurationsdatei des Apache Webservers muss angepasst werden. Denn unser Apache soll nicht mehr auf dem 'normalen' Webserver Port '80' horchen, sondern auf einem alternativen Port. 

Deshalb ändern Sie alle Zeilen, in denen momentan Ihre IP mit dem Port '80' eingetragen ist - typischer Weise solche:

Listen 123.123.123.123:80
<VirtualHost 123.123.123.123:80>

auf den Port '8080' - also z.B. so:

Listen 123.123.123.123:8080
<VirtualHost 123.123.123.123:8080>

/usr/local/etc/varnish/default.vcl

Die letzte Datei, an der wir eine Änderung vornehmen müssen, ist die Konfigurationsdatei des Varnish selbst. In dieser Datei können eine Unzahl an speziellen Einstellungen vorgenommen werden, die hier aber den Rahmen sprengen würden. Eine ausführliche Dokumentation finden Sie hier

Die Installation hat nur eine Beispielversion unter /usr/local/share/doc/varnish/example.vcl installiert. Deshalb ist vor der Anpassung folgendes nötig:

mkdir /usr/local/etc/varnish
cp /usr/local/share/doc/varnish/example.vcl /usr/local/etc/varnish/default.vcl

Zum Start mit default Optionen des varnish, ist aber noch die Information nötig, wie der varnish Cache den bisherigen Apache erreichen kann, der im letztendlich die Webdaten zur Ausgabe liefert. Hier für ändern Sie folgende Passage in der Konfigurationsdatei:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

und tragen die IP und den Port aus der eben geänderten httpd.conf des Apache Servers ein:

backend default {
    .host = "123.123.123.123";
    .port = "8080";
}

Schon können Sie den Apache und den varnish Cache neu starten:

sudo service varnishd start
sudo restart_apache

Ab sofort antwortet der varnish Cache jedem Webbesucher mit vorhandenen Cachedaten und holt sich diese wenn nötig vom Apache auf dem Port 8080.


Zurück

Sie brauchen Hilfe?

0421 4089-000