So installieren Sie den Varnish-Cache mit Apache auf CentOS 7
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. Varnish wurde für hochkarätige und hoch frequentierte Websites verwendet, darunter Wikipedia, The Guardian und die 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 werden wir CentOS 7 Server verwenden.
Was wir tun werden
- Apache auf CentOS 7 installieren
- Apache auf Port 8080 konfigurieren
- Varnish auf CentOS 7 installieren
- Konfigurieren Sie Varnish als Reverse-Proxy für den Apache.
- Firewalldatei konfigurieren
- Prüfung
Voraussetzung
- CentOS 7 Server
- Root-Rechte
Schritt 1 – Installation und Konfiguration des Apache auf CentOS 7
Wir werden den Apache/httpd Webserver aus dem CentOS 7-Repository installieren und dann den Server konfigurieren, der auf Port 8080 läuft.
Installieren Sie Apache/httpd mit dem Befehl yum unten.
yum -y install httpd
Nachdem die Installation abgeschlossen ist, starten Sie den httpd-Dienst und aktivieren Sie ihn mit den folgenden Befehlen beim Systemstart.
systemctl start httpd systemctl enable httpd
Damit läuft der httpd-Dienst nun. Überprüfen Sie dies mit dem Befehl netstat oder curl, wie unten gezeigt.
netstat -plntu curl -I localhost
Damit wurde also der Webserver Apache/httpd installiert.
Schritt 2 – Apache auf Port 8080 konfigurieren
In diesem Schritt werden wir den Apache/httpd Webserver so konfigurieren, dass er auf Port 8080 läuft. Zu diesem Zweck müssen wir zunächst die Konfigurationsdatei’httpd.conf‘ bearbeiten.
Gehen Sie in das Apache-Konfigurationsverzeichnis und bearbeiten Sie die Datei httpd.conf.
cd /etc/httpd/ vim conf/httpd.conf
Ändern Sie den Standardport 80 auf 8080 in der Zeile’Listen‘.
Listen 8080
Speichern und beenden.
Testen Sie nun die Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Dienst apache/httpd neu.
apachectl configtest systemctl restart httpd
Überprüfen Sie nun noch einmal mit netstat und stellen Sie sicher, dass der Webserver auf Port 8080 läuft.
netstat -plntu
Schritt 3 – Varnish auf CentOS 7 installieren
In diesem Schritt werden wir den leistungsstarken HTTP-Beschleuniger Varnish installieren. Es ist im EPEL (Extra Packages for Enterprise Linux) Repository verfügbar, daher müssen wir den Repo vor der Installation von Varnish installieren.
Installieren Sie das EPEL-Repository mit dem folgenden Befehl.
yum -y install epel-release
Installieren Sie nun Varnish aus dem EPEL-Repository mit dem Befehl yum unten.
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 Befehl netstat unten.
netstat -plntu
Und stellen Sie sicher, dass wir den Standard-Lackport wie unten beschrieben erhalten.
Schritt 4 – Varnish als Reverse-Proxy für Apache konfigurieren
So ist Varnish installiert, und jetzt werden wir es als Reverse-Proxy für den Apache Webserver konfigurieren. Varnish läuft standardmäßig auf dem HTTP-Port 80.
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-Bereich. Wir verwenden den Apache Webserver, der auf Port 8080 läuft, also die Konfiguration wie unten beschrieben.
backend default { .host = "127.0.0.1"; .port = "8080"; }
Speichern und beenden.
Als nächstes konfigurieren Sie Varnish so, dass es mit dem HTTP-Port 80 läuft. Bearbeiten Sie die Datei’lacnish.params‘ im Konfigurationsverzeichnis von Varnish.
vim varnish.params
Ändern Sie in dieser Datei den Wert der Zeile’VARNISH_LISTEN_PORT‘ auf HTTP-Port 80.
VARNISH_LISTEN_PORT=80
Speichern und beenden.
Starten Sie nun Varnish neu und überprüfen Sie die Statistiken mit dem Befehl netstat.
systemctl restart varnish netstat -plntu
Stellen Sie sicher, dass das Ergebnis dem unten gezeigten ähnelt.
Varnish HTTP Accelerator wurde installiert und fungiert nun als Reverse-Proxy für den Apache-Webserver.
Schritt 5 – Firewalldaten konfigurieren
In diesem Schritt werden wir Firewalld installieren und neue HTTP- und HTTPS-Ports öffnen.
Installieren Sie Firewalld mit dem folgenden Befehl yum.
yum -y install firewalld
Starten Sie nun den Dienst und lassen Sie ihn beim Systemstart automatisch laufen.
systemctl start firewalld systemctl enable firewalld
Als nächstes öffnen Sie den neuen Port für HTTP- und HTTPS-Requests 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. Das ist es. Die Firewalld-Konfiguration ist abgeschlossen.
Schritt 6 – Prüfung
Um Varnish zu testen, führen Sie zunächst den folgenden Curl-Befehl aus.
curl -I hakase-labs.co
Und 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. In meinem fall:
http://hakase-labs.co
Stellen Sie sicher, dass es wie unten beschrieben funktioniert.
Hinweis: Wenn Sie ‚403‘ verboten bekommen, müssen Sie eine Datei ‚index.html‘ im Verzeichnis ‚/var/wwww/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 Zugangsprotokoll für Varnish.
Das ist es. Das ist es. Varnish HTTP Accelerator wurde installiert und läuft nun als Reverse-Proxy für den Apache Webserver.