GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So beschleunigen Sie Apache mit Varnish HTTP-Cache unter Ubuntu 18.04 LTS

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 stark frequentierte Websites verwendet, darunter Wikipedia, The Guardian und The New York Times.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Varnish-HTTP-Beschleuniger 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 ausgeführt. Für diese Anleitung verwenden wir den Ubuntu 18.04 LTS-Server.

Was wir tun werden

  1. Installieren Sie den Apache-Webserver
  2. Apache-Standardport ändern
  3. Installieren Sie Varnish
  4. Lack konfigurieren
  5. Testen Sie die Einrichtung

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 Apache mit dem apt-Befehl.

apt update
apt install -y apache2

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

systemctl start apache2
systemctl enable apache2

Der Apache-Webserver wurde installiert.

Um allen den Zugriff auf den Webserver zu ermöglichen, müssen wir als Nächstes HTTP und HTTPS in unserer Firewall-Regel zulassen. Standardmäßig enthält Ubuntu ein Firewall-Paket namens UFW.

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

ufw allow ssh
ufw allow http
ufw allow https

Starten Sie nun den Firewall-Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird.

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 Apache unter Port 80 ausgeführt wird.

netstat -plntu

Oder Sie können den folgenden Curl-Befehl verwenden.

curl -I hakase-labs.co

Sie sollten das unten gezeigte Ergebnis erhalten.

Schritt 2 – Apache-Standardport ändern

In diesem Tutorial verwenden wir Apache als Backend-Server, und er wird nicht unter dem Standard-HTTP-Port 80 ausgeführt. Der Apache-Webserver wird auf Port 8080 als Backend ausgeführt, und der Standard-HTTP-Port 80 wird von verwendet ' Lack'.

Um den standardmäßigen Apache-Port zu ändern, müssen wir die Apache-Konfiguration „ports.conf“ und die gesamte Konfiguration des virtuellen Hosts im Verzeichnis „sites-available“ bearbeiten.

Wechseln Sie in das Apache-Konfigurationsverzeichnis.

cd /etc/apache2

Ersetzen Sie Port „80“ durch „8080“ in der Apache-Konfiguration „ports.conf“ und allen virtuellen Hostdateien im 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 als Nächstes die Apache-Konfiguration und vergewissern Sie sich, dass kein Fehler vorliegt, und starten Sie dann den Apache-Dienst neu.

apachectl configtest
systemctl restart apache2

Jetzt läuft Apache unter dem HTTP-Port '8080', überprüfen Sie ihn mit dem 'netstat'-Befehl wie unten gezeigt.

netstat -plntu

Stellen Sie sicher, dass Sie das Ergebnis wie unten sehen.

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

Schritt 3 – Varnish HTTP Accelerator installieren

In diesem Schritt installieren wir Varnish aus dem Ubuntu-Repository. Und für diese Anleitung verwenden wir Varnish 5.2.

Installieren Sie Lack mit dem folgenden apt-Befehl.

apt install -y varnish

Nachdem die Installation abgeschlossen ist, starten Sie Varnish und aktivieren Sie den automatischen Start beim Systemstart.

systemctl start varnish
systemctl enable varnish

Varnish wurde auf dem Ubuntu 18.04-System installiert.

Standardmäßig läuft es unter den Ports „6081“ für die öffentliche Adresse und „6082“ für die lokale Hostadresse. Überprüfen Sie es mit dem untenstehenden netstat-Befehl.

netstat -plntu

Und Sie erhalten den Standard-Lack-Port.

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

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

- Backend-Konfiguration

Gehen Sie in das 'varnish'-Konfigurationsverzeichnis 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 also wie folgt aussehen:

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

Speichern und beenden.

- Ausführen von Varnish auf Port 80

Als nächstes müssen wir die Standard-Lack-Ports ändern. Die Standardports für Lack sind „6081“ und „6082“, und wir müssen den Port auf den HTTP-Port 80 ändern (nur für öffentliche Adresse).

Bearbeiten Sie die Lackparameterkonfiguration im Verzeichnis „/etc/default“.

cd /etc/default/
vim varnish

Bearbeiten Sie die Zeile „DAEMON_OPTS“, ändern Sie den Standardport „6081“ für die öffentliche Adresse mit dem 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 Lackdienstdatei ‚varnish.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 systemd-Dienstkonfiguration neu und starten Sie dann 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 ausgeführt wird.

netstat -plntu

Daher läuft Varnish jetzt unter HTTP-Port 80 als Front-End für den Apache-Webserver, der sich auf Port 8080 befindet.

Schritt 5 – Testen

Testen Sie mit dem Curl-Befehl.

curl -I hakase-labs.co

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

Wenn ich über den Webbrowser nachprüfe, lautet die URL meines Testservers http://hakase-labs.co/. Wählen Sie hier Ihre Server-URL aus.

Und wir bekommen immer noch Apache-Inhalte.

Überprüfen Sie das Lackprotokoll mit dem Befehl „varnishncsa“.

varnishncsa

Und wir erhalten Protokolle nur aus dem Apache-Zugriffsprotokoll.

Die Installation und Konfiguration von Varnish für den Apache-Webserver ist abgeschlossen.


Ubuntu
  1. So installieren Sie OpenLiteSpeed ​​HTTP Server mit PHP unter Ubuntu 18.04 LTS

  2. So installieren Sie Jenkins Automation Server mit Apache unter Ubuntu 16.04

  3. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  4. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 20.04

  5. So installieren Sie Varnish Cache unter Ubuntu 18.04 LTS

So aktivieren Sie das HTTP/2-Protokoll mit Apache unter Ubuntu 20.04

So installieren Sie InvoiceNinja auf Ubuntu 18.04 Server mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 20.04 Server mit Apache/Nginx

So installieren Sie phpMyAdmin mit Apache unter Ubuntu 22.04 LTS

So installieren Sie den HTTP-Git-Server unter Ubuntu 20.04 LTS

So beschleunigen Sie Apache mit Varnish Cache unter CentOS 7