Wie man den Apache mit Varnish HTTP Cache auf Ubuntu 18.04 LTS beschleunigt.

Varnish ist ein Proxy-Server, der sich auf das HTTP-Caching konzentriert. Es ist als HTTP-Beschleuniger konzipiert und kann als Reverse-Proxy für Ihren Webserver (Apache oder Nginx) fungieren. Lack wurde für hochkarätige und hoch frequentierte Websites verwendet, darunter Wikipedia, The Guardian und The New York Times.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Varnish HTTP Accelerator als Reverse-Proxy für den Apache Webserver installieren und konfigurieren. Der echte Webserver Apache läuft unter einem nicht standardmäßigen HTTP-Port (läuft auf Port 8080). Und Varnish wird als Reverse-Proxy auf HTTP-Port 80 laufen. Für diesen Leitfaden verwenden wir den Ubuntu 18.04 LTS-Server.

Was wir tun werden

  1. Apache-Webserver installieren
  2. Apache Standard-Port ändern
  3. Lackierung installieren
  4. Lack konfigurieren
  5. Testen Sie das Setup

Voraussetzungen

  • Ubuntu 18.04 LTS
  • Root-Rechte

Schritt 1 – Apache-Webserver installieren

Installieren Sie zunächst den Apache-Webserver. Standardmäßig ist es im Ubuntu-Repository verfügbar.

Aktualisieren Sie das Ubuntu-Repository und installieren Sie dann den Apache mit dem Befehl apt.

apt update
apt install -y apache2

Nachdem die Installation abgeschlossen ist, starten Sie den Apache-Dienst und aktivieren Sie ihn so, dass er beim Systemstart mit den folgenden systemctl-Befehlen automatisch ausgeführt wird.

systemctl start apache2
systemctl enable apache2

Der Apache-Webserver wurde installiert.

Als nächstes, um jedem den Zugriff auf den Webserver zu ermöglichen, müssen wir HTTP und HTTPS auf unserer Firewall-Regel erlauben. Standardmäßig wird Ubuntu mit einem Firewall-Paket namens UFW ausgeliefert.

Öffnen Sie neue SSH-, HTTP- und HTTPS-Ports mit den folgenden UFW-Befehlen.

ufw allow ssh
ufw allow http
ufw allow https

Starten Sie nun den Firewall-Dienst und lassen Sie ihn beim Systemstart automatisch starten.

ufw enable

Geben Sie’y‘ ein und drücken Sie zur Bestätigung die Eingabetaste.

Neue Ports für HTTP, HTTPS und SSH wurden geöffnet und sind von außerhalb des Netzwerks zugänglich.

Wenn Sie den Apache-Webserver testen möchten, können Sie den Befehl netstat verwenden und sicherstellen, dass der Apache unter Port 80 läuft.

netstat -plntu

Oder du kannst den folgenden Curl-Befehl verwenden.

curl -I hakase-labs.co

Sie sollten das Ergebnis wie unten gezeigt erhalten.

Schritt 2 – Apache Standard-Port ändern

In diesem Tutorial werden wir den Apache als Backend-Server verwenden und er wird nicht unter dem Standard-HTTP-Port 80 laufen. Der Apache-Webserver wird auf Port 8080 als Backend laufen, und der Standard-HTTP-Port 80 wird von’Varnish‘ verwendet.

Um den standardmäßigen Apache-Port zu ändern, müssen wir die Apache-Konfiguration ‚ports.conf‘ und die gesamte virtuelle Host-Konfiguration im Verzeichnis’sites-available‘ bearbeiten.

Gehen Sie in das Apache-Konfigurationsverzeichnis.

cd /etc/apache2

Ersetzen Sie Port 80 durch 8080 in der Apache-Konfiguration ports.conf und alle virtuellen Hostdateien unter dem Verzeichnis „sites-available“. Wir können das tun, indem wir die folgenden sed-Befehle ausführen.

sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*

Testen Sie anschließend die Apache-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann den Apache-Dienst neu.

apachectl configtest
systemctl restart apache2

Nun läuft der Apache unter dem HTTP-Port ‚8080‘, überprüfen Sie ihn mit dem Befehl’netstat‘, wie unten gezeigt.

netstat -plntu

Stellen Sie sicher, dass Sie das Ergebnis wie folgt erhalten.

Sie können also sehen, dass der Apache-Webserver auf Port 8080 läuft.

Schritt 3 – Installation von Varnish HTTP Accelerator

In diesem Schritt werden wir Varnish aus dem Ubuntu-Repository installieren. Und für diesen Leitfaden werden wir Varnish 5.2 verwenden.

Installieren Sie den Lack mit dem folgenden apt-Befehl.

apt install -y varnish

Nachdem die Installation abgeschlossen ist, starten Sie Varnish und lassen Sie es beim Systemstart automatisch starten.

systemctl start varnish
systemctl enable varnish

Varnish wurde auf dem System Ubuntu 18.04 installiert.

Standardmäßig läuft es unter den Ports ‚6081‘ für öffentliche Beschallung und ‚6082‘ für lokale Hostadresse. Überprüfen Sie dies mit dem Befehl netstat unten.

netstat -plntu

Und du bekommst den Standard-Lackport.

Schritt 4 – Varnish als Reverse Proxy für Apache konfigurieren

In diesem Schritt konfigurieren wir den Lack auf der Vorderseite des Apache-Webservers. Varnish wird unter http-Port 80 ausgeführt, und jede Anfrage von Clients wird von ihm bearbeitet, bevor sie an den Apache Webserver auf Port 8080 gesendet wird.

– Backend-Konfiguration

Gehen Sie in das Konfigurationsverzeichnis von’Lack‘ und sichern Sie die Standarddatei’default.vcl‘.

cd /etc/varnish/
cp default.vcl default.vcl.aseli

Bearbeiten Sie die Lackkonfiguration ‚default.vcl‘ mit dem vim-Editor.

vim default.vcl

Definieren Sie die „Backend“-Konfiguration in Zeile 16. Das Backend für unser Setup ist Apache, und es läuft auf Port 8080. Die Lackkonfiguration für unser Apache-Setup sollte daher wie folgt aussehen:

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

Speichern und beenden.

– Laufender Lack auf Port 80

Als nächstes müssen wir die Standard-Lackports ändern. Die Standard-Ports für Lacke sind 6081′ und 6082′, und wir müssen den Port auf den HTTP-Port 80 ändern (nur für öffentliche Beschallung).

Bearbeiten Sie die Konfiguration der Lackparameter im Verzeichnis’/etc/default‘.

cd /etc/default/
vim varnish

Bearbeiten Sie die Zeile’DAEMON_OPTS‘, ändern Sie den Standardport’6081′ für öffentliche Adresse mit Standard-HTTP-Port’80‘ wie unten gezeigt.

DAEMON_OPTS="-a :80 \
              -T localhost:6082 \
              -f /etc/varnish/default.vcl \
              -S /etc/varnish/secret \
              -s malloc,256m"

Speichern und beenden.

Als nächstes müssen wir die Lack-Service-Datei’lacnish.service‘ bearbeiten. Gehen Sie in das Verzeichnis’/lib/systemd/system‘ und bearbeiten Sie die Servicedatei mit vim.

cd /lib/systemd/system/
vim varnish.service

Ändern Sie in der Zeile „ExecStart“ den Lackstartbefehl wie folgt.

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

Speichern und beenden.

Laden Sie die Service-Konfiguration des Systems neu und starten Sie den Lack neu.

systemctl daemon-reload
systemctl restart varnish

Überprüfen Sie nun den Lack und stellen Sie sicher, dass er auf dem HTTP-Port 80 läuft.

netstat -plntu

Somit läuft Varnish nun unter dem HTTP-Port 80 als Frontend für den Apache Webserver, der sich auf Port 8080 befindet.

Schritt 5 – Prüfung

Testen Sie mit dem Befehl curl.

curl -I hakase-labs.co

Stellen Sie sicher, dass Sie den HTTP-Header erhalten, wie unten gezeigt.

Überprüfen Sie im Webbrowser, die URL meines Testservers lautet http://hakase-labs.co/. Wählen Sie hier Ihre Server-URL aus.

Und wir haben immer noch Apache-Inhalte.

Überprüfen Sie das Lackprotokoll mit dem Befehl’varnishncsa‘.

varnishncsa

Und wir bekommen das Protokoll nur aus dem Apache Zugriffsprotokoll.

Die Lackinstallation und -konfiguration für den Apache-Webserver ist abgeschlossen.

Referenz

Das könnte Dich auch interessieren …