Wie man Nginx als Reverse Proxy für Apache unter Debian 11 einrichtet

Nginx und Apache sind beide kostenlos, quelloffen und die beliebtesten Webserver der Welt. Apache ist für seine Leistungsfähigkeit bekannt, Nginx für seine Geschwindigkeit. Beide haben einige Vor- und Nachteile. Nginx ist für statische Inhalte geeignet, Apache für dynamische Inhalte. Wenn wir beide Server kombinieren, erhalten wir ein besseres Ergebnis als der jeweils andere.

In diesem Tutorial werde ich Apache als Backend-Server konfigurieren und Nginx als Reverse-Proxy für Apache unter Debian 11 verwenden.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Bevor du beginnst, solltest du den Paket-Cache deines Systems auf die neueste Version aktualisieren. Du kannst ihn mit dem folgenden Befehl aktualisieren:

apt-get update -y

Nachdem du den Paket-Cache aktualisiert hast, installierst du die anderen benötigten Abhängigkeiten mit dem folgenden Befehl:

apt-get install gnupg2 curl -y

Sobald alle erforderlichen Abhängigkeiten installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Apache installieren und konfigurieren

In diesem Abschnitt installieren wir den Apache-Webserver und konfigurieren ihn so, dass er auf Port 8000 läuft.

Installiere zunächst den Apache-Webserver mit dem folgenden Befehl:

apt-get install apache2 -y

Sobald der Apache installiert ist, bearbeitest du die Apache-Port-Konfigurationsdatei:

nano /etc/apache2/ports.conf

Ändere den Apache-Standardport von 80 auf 8000:

Listen 8000

Speichere und schließe die Datei und bearbeite dann die Apache-Standardkonfigurationsdatei:

nano /etc/apache2/sites-enabled/000-default.conf

Ändere den Standardport von 80 auf 8000 wie unten gezeigt:

<VirtualHost *:8000>

Speichere und schließe die Datei und lade den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Öffne nun deinen Webbrowser und rufe die Apache-Testseite über die URL http://your-server-ip:8000 auf. Du solltest die Apache-Standardtestseite auf dem folgenden Bildschirm sehen:

Apache-Standardseite

Nginx installieren und konfigurieren

Jetzt werden wir Nginx als Reverse Proxy installieren und konfigurieren, um die eingehenden Anfragen an den Apache-Server weiterzuleiten.

Installiere zunächst Nginx mit dem folgenden Befehl:

apt-get install nginx -y

Sobald Nginx installiert ist, bearbeitest du die Nginx-Standardkonfigurationsdatei für virtuelle Hosts mit dem folgenden Befehl:

nano /etc/nginx/sites-enabled/default

Entferne alle Zeilen und füge die folgenden Zeilen hinzu:

server {

listen 80;
index index.php index.html index.htm;

server_name your-server-ip;
                
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Speichere und schließe die Datei und überprüfe den Nginx mit folgendem Befehl auf Syntaxfehler:

nginx -t

Lade anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Überprüfe den Nginx-Webserver

Nun ist Nginx installiert und so konfiguriert, dass alle Anfragen an den Apache Backend Server weitergeleitet werden. Du kannst jetzt deinen Webbrowser öffnen und die URL http://your-server-ip eingeben. Auf dem folgenden Bildschirm solltest du die Standardseite des Apache-Webservers sehen:

Nginx Reverse Proxy

Fazit

Glückwunsch! Du hast Nginx erfolgreich als Reverse Proxy für Apache installiert und konfiguriert. Du kannst diese Einrichtung nun in der Produktionsumgebung verwenden, um die Leistung deiner Website zu steigern.

Das könnte dich auch interessieren …