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

So installieren Sie Varnish Reverse Proxy mit Nginx unter Ubuntu 16.04 LTS

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 zeige ich Ihnen, wie Sie den Lack-HTTP-Beschleuniger als Reverse-Proxy für den Nginx-Webserver installieren und konfigurieren. Der echte Webserver Nginx wird unter dem nicht standardmäßigen HTTP-Port 8080 ausgeführt. Und Varnish wird als Reverse-Proxy auf HTTP-Port 80 ausgeführt. Für diese Anleitung verwenden wir den Ubuntu 16.04-Server.

Was wir tun werden

  1. Installieren Sie Nginx unter Ubuntu 16.04
  2. Nginx auf Port 8080 konfigurieren
  3. Installieren Sie Varnish auf Ubuntu 16.04
  4. Varnish als Reverse Proxy für Nginx konfigurieren
  5. UFW-Firewall konfigurieren
  6. Testen

Voraussetzungen

  • Ubuntu 16.04
  • Root-Berechtigungen

Schritt 1 – Nginx unter Ubuntu 16.04 installieren

Der erste Schritt, den wir für dieses Tutorial tun müssen, ist die Installation von Nginx auf dem System Ubuntu 16.04. In diesem Schritt werden wir Nginx installieren (es ist im offiziellen Ubuntu-Repository verfügbar), dann den Dienst starten und ihn dann so aktivieren, dass er jedes Mal beim Systemstart gestartet wird.

Installieren Sie Nginx aus dem Ubuntu-Repository mit dem apt-Befehl.

sudo apt install nginx -y

Nachdem die Installation abgeschlossen ist, starten Sie Nginx und aktivieren Sie es so, dass es jedes Mal beim Systemstart gestartet wird, indem Sie die folgenden systemctl-Befehle verwenden.

systemctl start nginx
systemctl enable nginx

Der Nginx-Webserver läuft auf dem Standard-HTTP-Port – überprüfen Sie ihn mit netstat und stellen Sie sicher, dass der HTTP-Port von Nginx verwendet wird.

netstat -plntu

Schritt 2 – Nginx auf Port 8080 konfigurieren

In diesem Schritt konfigurieren wir nginx so, dass es unter dem nicht standardmäßigen HTTP-Port 8080 ausgeführt wird. Zu diesem Zweck müssen wir virtuelle Hostdateien im Verzeichnis „Sites-Available“ bearbeiten.

Gehen Sie in das Nginx-Konfigurationsverzeichnis und bearbeiten Sie die „standardmäßige“ virtuelle Hostdatei mit vim.

cd /etc/nginx/
vim sites-available/default

Ändern Sie den Listenwert der Zeile auf 8080.

        listen 8080 default_server;
        listen [::]:8080 default_server;

Speichern und beenden.

Testen Sie nun die Nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Dienst neu.

nginx -t
systemctl restart nginx

Testen Sie nginx jetzt erneut mit netstat und stellen Sie sicher, dass es auf dem nicht standardmäßigen HTTP-Port 8080 ausgeführt wird.

netstat -plntu

Der Nginx-Webserver wurde installiert und läuft jetzt auf Port 8080.

Schritt 3 – Installiere Varnish auf Ubuntu 16.04

Jetzt müssen wir Varnish auf dem System installieren. Wir können die neueste Version des Tools aus der Quelle installieren. Und für diese Anleitung installieren wir Lack aus dem Ubuntu-Repository – Lack v4.

Installieren Sie Lack mit dem folgenden apt-Befehl.

sudo apt install varnish -y

Starten Sie nun den Lack und aktivieren Sie ihn mit den folgenden systemctl-Befehlen zum Starten beim Systemstart.

systemctl start varnish
systemctl enable varnish

Standardmäßig verwendet Lack Port 6081 für den öffentlichen Zugriff und Port 6082 für die Lack-Admin-Weboberfläche. Überprüfen Sie es mit dem netstat-Befehl und vergewissern Sie sich, dass diese Ports auf der Liste stehen.

netstat -plntu

Varnish HTTP Accelerator wurde installiert.

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

In diesem Tutorial verwenden wir Varnish als Reverse-Proxy für den Nginx-Webserver. Varnish wird auf dem HTTP-Port 80 und der Nginx-Webserver auf dem HTTP-Port 8080 ausgeführt (es ist abgeschlossen).

In diesem Schritt konfigurieren wir Varnish für Nginx, definieren den Backend-Server und ändern dann den Lack so, dass er unter HTTP-Port 80 ausgeführt wird.

Wechseln Sie nun in das Konfigurationsverzeichnis des Lacks und bearbeiten Sie die Datei „default.vcl“.

cd /etc/varnish
vim default.vcl

Definieren Sie in der Backend-Zeile die Konfiguration wie folgt.

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

Speichern und beenden.

Hinweis:

  • .host =Adresse des Backend-Webservers.
  • .port =Der unterstützte Webserver, auf dem ausgeführt wird.

Die Backend-Konfiguration ist abgeschlossen.

Als nächstes müssen wir Varnish so konfigurieren, dass es unter HTTP-Port 80 läuft. Gehen Sie in das Verzeichnis „/etc/default“ und bearbeiten Sie die Lackkonfigurationsdatei „varnish“.

cd /etc/default/
vim varnish

Ändern Sie in der Zeile „DAEMON_OPTS“ den Standardport 6081 in HTTP-Port 80.

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

Speichern und beenden.

Bearbeiten Sie nun die Lackdienstdatei im Verzeichnis ‚/lib/systemd/system‘. Wechseln Sie in das systemd-Systemverzeichnis und bearbeiten Sie die Datei lack.service.

cd /lib/systemd/system
vim varnish.service

Ändern Sie in der Zeile „ExecStart“ den Lackport 6081 in HTTP-Port 80.

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-Konfiguration neu und starten Sie den Lack neu.

systemctl daemon-reload
systemctl restart varnish

Nachdem die Konfiguration abgeschlossen ist, prüfen Sie Varnish mit dem untenstehenden netstat-Befehl.

netstat -plntu

Stellen Sie sicher, dass Varnish auf HTTP-Port 80 ausgeführt wird, wie unten gezeigt.

Die Varnish-Konfiguration als Reverse-Proxy für Nginx ist abgeschlossen.

Schritt 5 – UFW-Firewall konfigurieren

Das Ubuntu-System wird standardmäßig mit einer menschenlesbaren Firewall namens „UFW“ geliefert. Wenn Sie das Paket nicht haben, installieren Sie es mit dem folgenden apt-Befehl.

sudo apt install ufw

In diesem Schritt aktivieren wir die Firewall und öffnen neue Ports für SSH, HTTP und HTTPS.

Führen Sie die folgenden ufw-Befehle aus.

ufw allow ssh
ufw allow http
ufw allow https

Aktivieren Sie jetzt die Firewall und aktivieren Sie sie so, dass sie jedes Mal beim Booten gestartet wird.

ufw enable

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

Die UFW-Firewall ist aktiviert und sowohl der HTTP- als auch der HTTPS-Port sind jetzt vom externen Netzwerk aus zugänglich.

Schritt 6 – Testen

- Testen mit cURL

Testen von Lack mit dem Curl-Befehl, damit wir HTTP-Header vom Server sehen können.

curl -I hakase-labs.co

Und Sie erhalten das HTTP-Header-Ergebnis „Via:1.1 lack-v4“, wie unten gezeigt.

- Testen mit Webbrowser

Öffnen Sie Ihren Webbrowser und geben Sie die folgende Server-URL oder -Adresse ein. Meine ist: http://hakase-labs.co

Stellen Sie sicher, dass Sie die Nginx-Standardseite wie unten beschrieben erhalten.

- Testen des Lackprotokolls

Varnish bietet einige Befehle zum Verwalten und Anzeigen von Protokollen. Wir werden 'varnishncsa' verwenden, um das Lack-Zugriffsprotokoll zu erhalten.

varnishncsa

Und Sie erhalten das unten gezeigte Ergebnis.

Die Installation und Konfiguration von Varnish als Reverse-Proxy für den Nginx-Webserver ist abgeschlossen.


Ubuntu
  1. So stellen Sie Modsecurity mit Nginx auf Ubuntu 20.04 LTS bereit

  2. So installieren Sie Odoo 11 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  3. So installieren Sie Odoo 10 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  4. So installieren Sie Flectra auf Ubuntu 20.04 mit Nginx als Reverse Proxy

  5. So installieren Sie Odoo 12 auf Ubuntu 18.04 mit Nginx als Reverse Proxy

So installieren Sie Rocket.chat mit nginx-Reverse-Proxy unter Ubuntu 20.04

So installieren Sie phpMyAdmin mit Nginx (LEMP) unter Ubuntu 18.04 LTS

So installieren Sie Nginx mit dem Ngx_Pagespeed-Modul unter Ubuntu 16.04 LTS

So installieren Sie Joomla mit Nginx unter Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 20.04 LTS