Varnish unter FreeBSD installieren

sudo pkg install varnish

Damit Varnish bei jedem Systemneustart automatisch startet, muss in die /etc/rc.conf folgendes eingefügt werden:

varnishd_enable="YES"
varnishd_listen=":80"
varnishd_config="/usr/local/etc/varnish/default.vcl"
varnishd_user="web"
varnishd_group="vuser"
varnishd_storage="malloc,256m"
  • varnishd_listen = Port auf dem Varnish hören soll (normalerweise der HTTP-Standardport 80, oder etwas anderes, wenn ein anderer HTTP-Dienst noch vor dem Apache geschaltet werden soll).
  • varnishd_storage = Definiert u.a. die Größe des Caches.

Da Varnish jetzt auf dem Port 80 läuft, muss der Apache (oder jeder andere Webserver) auf einen anderen Port horchen. Normalerweise muss dazu die Zeile „Listen“ in der httpd.conf angepasst werden. Je nach Konfiguration der VirtualHost, muss auch dort jeweils die Port Nummer geändert werden.

Listen 123.123.123.123:80
<VirtualHost 123.123.123.123:80>
 ...
</VirtualHost>

muss geändert werden zu:

Listen 123.123.123.123:8080
<VirtualHost 123.123.123.123:8080>
 ...
</VirtualHost>

Und damit Varnish weiß, wo er den Webserver erreichen soll, muss ihm dies in der default.vcl (Konfigurationsdatei für Varnish) noch gesagt werden:

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

Die Konfigurationsdatei sollte bei FreeBSD unter /usr/local/etc/varnish/default.vcl zu finden sein.

In der default.vcl wird das Regelwerk für varnish definiert, wann Varnish Inhalte aus dem Cache liefern soll und wann nicht, kann den Response manipulieren oder auch den Zeitraum für die Gültigkeit des Caches definieren. Entsprechend, kann die Konfigurationsdatei sehr schnell, recht komplex werden (mehrere hundert Zeilen).

Das Beispiel hier, ist ein sehr simples, um Varnish erst einmal zum Laufen zu bekommen.

Danach noch Varnish und Apache neustarten und schon sollte alles laufen.