Varnish auf Ubuntu 16.04 installieren

Im Durchschnitt wird dieses Tutorial Varnish auf Ubuntu 16.04 installieren mit 5 bewertet, wobei 1.0 die schlechteste und 5.0 die beste Bewertung ist. Es haben insgesamt 179 Besucher eine Bewertung abgegeben.
178 1

Varnish auf Ubuntu 16.04 installieren

LEMP Proxy Ubuntu
Varnish auf Ubuntu 16.04 installieren

Darum brauchst du Varnish

Geschwindigkeit und Effizienz sind in der IT äußerst relevant. Umfangreiche Webseiten benötigen logischerweise mehr Zeit, um vom Browser aufgebaut zu werden als simple, statische Seiten. Server, Client und Verbindungs-Performance spielen natürlich auch eine Rolle. Heute gibt es allerdings nur noch selten Anwendungsfälle für statische Webseiten. Daher sind für viele in der IT Beschäftigte komplexe Webseiten an der Tagesordnung. Als Serveradministrator wird man hier dann oft darum gebeten, den Aufbau der Seite doch bitte zu beschleunigen.

Ein einfaches Werkzeug, um Inhalte von komplexen, dynamischen Webseiten zu cachen und damit die Performance zu erhöhen, ist Varnish. Varnish kann auf einem separaten Server, aber auch auf dem gleichen Server wie der Webserver installiert werden und fungiert als Proxy. Die DNS Einträge der Domain werden auf den Varnish Server umgelegt. Der Varnish selbst zieht sich den Inhalt der Webseiten aus dem Backend und cashed deren Inhalt. Wenn jetzt wiederholt Anfragen von Besuchern auf immer ähnliche Inhalte kommen, werden diese nicht vom Webserver beantwortet, sondern von Varnish. Dadurch können auch große Mengen an Besucherzahlen verarbeitet werden.

Vorbereitung: Cloud Server erstellen

Wenn du bereits einen eigenen Server am laufen hast, kannst du diesem Abschnitt überspringen. Ansonsten zeigt Markus dir in unserem kleinen Video. Wie du einen Cloud Server bei gridscale erstellst.

Varnish installieren

Wie vor jeder Installation, solltest du deinen Server auf den neuesten Stand bringen:

apt -y update && apt -y upgrade && apt -y dist-upgrade

Um Varnish zu installieren, nutze folgenden Befehl:

apt -y install varnish

Standardmäßig ist Varnish nach der Installation über den Port 6081 erreichbar.

Auf welchem Port Varnish aktuell erreichbar ist, kannst du mit diesem Befehl überprüfen:

netstat -tulpen | grep varnishd


Varnish konfigurieren

Im nächsten Schritt gehen wir über zur Varnish Konfiguration und zeigen dir die wichtigsten Elemente.

Da Varnish auf HTTP-Anfragen möglichst ohne Angabe von separaten Ports reagieren soll, ändern wir den Port im nächsten Schritt auf den HTTP-Standardport 80 ab.

Den Varnish-Service konfigurierst du in der Datei:

/etc/systemd/system/varnish.service

Um Varnish zu konfigurieren, werden außerdem die Dateien in folgendem Ordner benötigt:

/etc/varnish/

Eventuell relevant ist auch der Management Port von Varnish:

TCP 6082

Um den Varnish-Service anzupassen, solltest du ihn vorher stoppen mit:

service varnish stop

Danach musst du die oben bereits erwähnte Konfigurationsdatei für den Varnish-Service anpassen. Nutze hierfür den Befehl:

nano /lib/systemd/system/varnish.service

Trage in die Varnish-Service Datei folgenden Inhalt ein:

[Service]
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a XXX.XXX.XXX.XXX:80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,XXXXm

Der erste Parameter, der angepasst werden muss, ist -a. Trage hier die IP deines Varnish-Servers ein und den Port, unter dem Varnish erreichbar sein soll (HTTP-Standard Port 80). In den meisten Fällen ist hier die Public IP die relevante. Bist du dir nicht sicher, trage 0.0.0.0:80 ein, dann ist Varnish über alle NICs verfügbar.

Der zweite wichtige Parameter ist der letzte -s malloc,. Trage hier die Anzahl an MB ein, die für den Cache bereit stehen soll. Beachte, dass auf deinem System entsprechend viel RAM frei sein muss. Am Besten fängst du mit 2048 MB an. Sollte das nicht reichen, kannst du den Wert jederzeit anpassen und durch einen Neustart des Varnish-Services den Wert übernehmen.

Starte den Varnish-Service neu mit:

service varnish restart


Varnish konfigurieren Teil 2

Anschließend teilst du deinem Varnish noch mit, von welchem Server er die Daten beziehen soll. Das kann ein entfernter Server, ein lokaler oder auch der selbe Server sein. Stelle jedoch sicher, dass der Server von deinem Varnish-Server aus erreichbar ist.

Am einfachsten ist es, den entfernten Server anzupingen. Dies setzt voraus, dass ICMP Traffic in deinem Netzwerk erlaubt ist und der Server auf deinen Ping antwortet.

ping [ip adresse]

Teile jetzt Varnish deinen Backend Server mit, indem du mit einem Texteditor deiner Wahl die Datei /etc/varnish/default.vcl bearbeitest. Ich nehme der Einfachheit halber nano:

nano /etc/varnish/default.vcl

Suche dir jetzt den folgenden Konfigurationsabschnitt und ändere ihn entsprechend ab. Ich gehe von einem Apache oder NginX Server auf dem selben Server auf Port 8080 aus. Die Werte musst du natürlich deiner Installation entsprechend anpassen.

backend default {
    .host = "127.0.0.1";
    .port = "8080";
    .set req.http.host = “”;
}

Wie du einen LAMP oder einen LEMP Server erstellst, zeigen wir dir in den zwei Tutorials:

So installierst du einen LAMP-Server mit PHP 7 und Apache 2.4 auf Ubuntu 16.04 &

LEMP Server auf Ubuntu installieren



Beachte, dass der Standard Port des Webservers auf einen anderen Port geändert wird (zB 8080), damit dieser sich nicht mit Varnish überschneidet.

Restarte den Varnish-Service erneut:

service varnish restart

Hier noch ein paar Befehle, um Varnish zu steuern:

service varnish start 		starte den Varnish Service
service varnish stop		stoppe den Varnish Service
service varnish status		Status und eventuelle Fehlermeldungen anzeigen
service varnish restart		restarte den Varnish Service

Rufe jetzt die IP Adresse oder deine Domain auf, die auf deinen Varnish Server verweist und du bekommst den Output des Webservers, den du als Backend konfiguriert hast, zu sehen.

Fazit

In nur wenigen Schritten hast du deinem Webserver einen enormen Performance Boost gegeben. Den Unterschied wirst du nicht beim ersten Aufrufen bemerken, jedoch schon beim zweiten. Sollten dem Backend neue Inhalte zur Verfügung stehen, wird Varnish sie nicht automatisch cachen, sondern erst beim ersten Abrufen.

Weitere Performance Vorteile und auch mehr Sicherheit bringt es, wenn du von der Standard LAMP bzw LEMP Installation abweichst und deine Datenbanken auf separaten Servern betreibst. Wie du das ganze ausfallsicher und performant gestaltest, zeigen wir dir in unserem Tutorial MySQL Master-Slave Replikation auf Ubuntu erstellen.

Darum brauchst du Varnish Geschwindigkeit und Effizienz sind in der IT äußerst relevant. Umfangreiche Webseiten benötigen logischerweise mehr Zeit, um vom Browser aufgebaut zu werden als simple, statische Seiten. Server, Client und Verbindungs-Performance spielen natürlich auch eine Rolle. Heute gibt es allerdings nur noch selten Anwendungsfälle für statische Webseiten. Daher sind für viele in der […]

Schade, dass dir der Artikel nicht gefallen hat.
Was sollten wir deiner Meinung nach besser machen?

Vielen Dank für dein Feedback!
Wir melden uns bei dir, sobald der Artikel zu deinem Wunschthema fertig ist.

Übrigens: kennst du schon unser Tutorial zum Thema Drupal unter Ubuntu 16.04/18.04 installieren und einrichten?

×

Entwickler?

Dann einfach hier für unsere Tutorial-Updates anmelden.
Keine Sorge: Wir spammen dich nicht zu