Varnish ist ein Proxy-Server, der sich auf HTTP-Caching konzentriert. Es ist als HTTP-Beschleuniger konzipiert und kann als Reverse-Proxy für Ihren Webserver Apache oder Nginx fungieren. Varnish wurde für hochkarätige und stark frequentierte Websites verwendet, darunter Wikipedia, The Guardian und die New York Times.
In diesem Tutorial zeigen wir Ihnen, wie Sie den Lack-HTTP-Beschleuniger als Reverse-Proxy für den Apache-Webserver installieren und konfigurieren. Der echte Webserver Apache wird unter einem nicht standardmäßigen HTTP-Port ausgeführt (läuft auf Port 8080). Und Varnish wird als Reverse-Proxy auf HTTP-Port 80 ausgeführt. Für diese Anleitung verwenden wir den CentOS 7-Server.
Was wir tun werden
- Installieren Sie Apache unter CentOS 7
- Apache auf Port 8080 konfigurieren
- Installieren Sie Varnish auf CentOS 7
- Varnish als Reverse-Proxy für Apache konfigurieren
- Firewalld konfigurieren
- Testen
Voraussetzung
- CentOS 7-Server
- Root-Rechte
Schritt 1 – Installieren und konfigurieren Sie Apache unter CentOS 7
Wir werden den Apache/httpd-Webserver aus dem CentOS 7-Repository installieren und dann den Server konfigurieren, der auf Port 8080 ausgeführt wird.
Installieren Sie Apache/httpd mit dem folgenden yum-Befehl.
yum -y install httpd
Nachdem die Installation abgeschlossen ist, starten Sie den httpd-Dienst und aktivieren Sie ihn mit den folgenden Befehlen für die Ausführung beim Systemstart.
systemctl start httpd
systemctl enable httpd
Der httpd-Dienst läuft also jetzt. Überprüfen Sie es mit dem Befehl netstat oder curl wie unten gezeigt.
netstat -plntu
curl -I localhost
Damit ist also der Apache/httpd-Webserver installiert.
Schritt 2 – Apache auf Port 8080 konfigurieren
In diesem Schritt konfigurieren wir den Apache/httpd-Webserver so, dass er auf Port 8080 läuft. Dazu müssen wir zunächst die Konfigurationsdatei „httpd.conf“ bearbeiten.
Wechseln Sie in das Apache-Konfigurationsverzeichnis und bearbeiten Sie die Datei httpd.conf.
cd /etc/httpd/
vim conf/httpd.conf
Ändern Sie den Standardport 80 in 8080 in der 'Listen'-Zeile.
Listen 8080
Speichern und beenden.
Testen Sie nun die Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Apache/httpd-Dienst neu.
apachectl configtest
systemctl restart httpd
Prüfen Sie nun erneut mit netstat und stellen Sie sicher, dass der Webserver auf Port 8080 läuft.
netstat -plntu
Schritt 3 – Varnish unter CentOS 7 installieren
In diesem Schritt installieren wir den Hochleistungs-HTTP-Beschleuniger Varnish. Es ist im EPEL-Repository (Extra Packages for Enterprise Linux) verfügbar, daher müssen wir das Repo installieren, bevor wir Varnish installieren.
Installieren Sie das EPEL-Repository mit dem folgenden Befehl.
yum -y install epel-release
Installieren Sie jetzt Varnish aus dem EPEL-Repository mit dem folgenden Befehl yum.
yum -y install varnish
Nachdem die Installation abgeschlossen ist, starten Sie Varnish und fügen Sie es hinzu, um es beim Systemstart mit den folgenden systemctl-Befehlen zu starten.
systemctl start varnish
systemctl enable varnish
Standardmäßig verwendet Varnish die Ports 6081 und 6082. Überprüfen Sie dies mit dem untenstehenden netstat-Befehl.
netstat -plntu
Und stellen Sie sicher, dass wir den Varnish-Standardport wie unten erhalten.
Schritt 4 – Varnish als Reverse-Proxy für Apache konfigurieren
Varnish ist also installiert, und jetzt konfigurieren wir es als Reverse-Proxy für den Apache-Webserver. Varnish wird standardmäßig auf HTTP-Port 80 ausgeführt.
Gehen Sie in das Varnish-Konfigurationsverzeichnis und bearbeiten Sie die Standardkonfiguration in 'default.vcl'.
cd /etc/varnish
vim default.vcl
Definieren Sie den Standard-Backend-Abschnitt. Wir verwenden den Apache-Webserver, der auf Port 8080 läuft, also die Konfiguration wie unten.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Speichern und beenden.
Konfigurieren Sie als Nächstes Varnish so, dass es mit HTTP-Port 80 ausgeführt wird. Bearbeiten Sie die Datei „varnish.params“, die sich im Varnish-Konfigurationsverzeichnis befindet.
vim varnish.params
Ändern Sie in dieser Datei den Wert der Zeile „VARNISH_LISTEN_PORT“ in HTTP-Port 80.
VARNISH_LISTEN_PORT=80
Speichern und beenden.
Starten Sie jetzt Varnish neu und überprüfen Sie die Statistiken mit dem Befehl netstat.
systemctl restart varnish
netstat -plntu
Stellen Sie sicher, dass Sie ein ähnliches Ergebnis wie das unten gezeigte erhalten.
Varnish HTTP Accelerator wurde installiert und fungiert nun als Reverse-Proxy für den Apache-Webserver.
Schritt 5 - Konfigurieren Sie Firewalld
In diesem Schritt installieren wir Firewalld und öffnen neue HTTP- und HTTPS-Ports.
Installieren Sie Firewalld mit dem folgenden yum-Befehl.
yum -y install firewalld
Starten Sie nun den Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch ausgeführt wird.
systemctl start firewalld
systemctl enable firewalld
Öffnen Sie als Nächstes einen neuen Port für HTTP- und HTTPS-Anforderungen mit dem Befehl firewalld-cmd, wie unten gezeigt.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Laden Sie die Firewall-Konfiguration neu.
Das ist es. Die Firewalld-Konfiguration ist abgeschlossen.
Schritt 6 – Testen
Um Varnish zu testen, führen Sie zuerst den folgenden Curl-Befehl aus.
curl -I hakase-labs.co
Stellen Sie bei der Ausgabe sicher, dass Sie einen HTTP-Header ähnlich dem im folgenden Screenshot erhalten.
Als nächstes testen Sie Varnish im Browser. Öffnen Sie dazu Ihren Webbrowser und geben Sie die Server-URL oder -Adresse ein.
http://hakase-labs.co
Stellen Sie sicher, dass es wie folgt funktioniert.
Hinweis: Wenn Sie '403' Forbidden erhalten, müssen Sie eine 'index.html'-Datei im Verzeichnis '/var/www/html' erstellen.
cd /var/www/html/
echo '<h1><center> Varnish- Apache - hakase-labs</center></h1>' > index.html
Fahren Sie fort und testen Sie das Lackprotokoll mit dem folgenden Befehl.
varnishncsa
Und Sie erhalten das Zugriffsprotokoll für Lack.
Das ist es. Der Varnish-HTTP-Beschleuniger wurde installiert und läuft jetzt als Reverse-Proxy für den Apache-Webserver.
Referenz
- https://varnish-cache.org/