So konfigurieren Sie Nginx als Webserver und Reverse-Proxy für Apache unter CentOS 8

Wie Sie wissen, sind Apache und Nginx beide freie, quelloffene und leistungsstarke Webserver auf der ganzen Welt. Apache ist für seine Leistung bekannt, während der Nginx für seine Geschwindigkeit bekannt ist. Beide haben einige Nachteile und Vorteile. Nginx verwendet PHP-FPM, um die PHP-Dateien zu laden, während Apache PHP selbständig lädt. Apache wird für den dynamischen Teil der Website verwendet, während Nginx statische Dateien wie Grafiken, CSS- und js-Dateien bedient.

Es ist eine gute Idee, beide auf einem Server zu verwenden und die Vorteile von beiden zu nutzen. In diesem Tutorial zeigen wir Ihnen, wie Sie Nginx als Webserver und Reverse-Proxy für den Apache-Webserver auf CentOS 8 verwenden.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Ein Domain-Name, der auf die IP des Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Apache und PHP installieren

Zunächst müssen Sie den Apache-Webserver und PHP auf Ihrem Server installieren. Sie können sie mit dem folgenden Befehl installieren:

dnf install httpd php php-cli -y

Wenn die Installation abgeschlossen ist, starten Sie den Apache-Dienst und aktivieren Sie ihn mit dem folgenden Befehl, damit er bei einem Systemneustart startet:

systemctl start httpd
systemctl enable httpd

Apache-Webserver konfigurieren

Standardmäßig lauscht der Apache-Webserver auf Port 80. Sie müssen also den Apache-Webserver so konfigurieren, dass er auf Port 8080 lauscht. Dies können Sie tun, indem Sie die Apache-Hauptkonfigurationsdatei bearbeiten:

nano /etc/httpd/conf/httpd.conf

Ändern Sie den Eintrag von 80 auf 8080, wie unten gezeigt:

Listen 8080

Speichern und schließen Sie die Datei und starten Sie den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart httpd

Als nächstes überprüfen Sie den Apache-Listening-Port mit dem folgenden Befehl:

ss -antpl | grep httpd

Sie sollten die folgende Ausgabe erhalten:

LISTEN    0         128                      *:8080                   *:*        users:(("httpd",pid=1693,fd=4),("httpd",pid=1692,fd=4),("httpd",pid=1691,fd=4),("httpd",pid=1688,fd=4))

Erstellen Sie als nächstes eine info.php-Datei im Apache-Web-Root-Verzeichnis:

nano /var/www/html/info.php

Fügen Sie die folgende Zeile ein:

<?php phpinfo(); ?>

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Öffnen Sie nun Ihren Webbrowser und rufen Sie die URL http://your-server-ip:8080/info.php auf. Sie sollten die folgende Seite sehen:

PHP-Infos

Nginx-Webserver installieren

Als nächstes müssen Sie das Nginx-Paket auf Ihrem Server installieren. Sie können es mit dem folgenden Befehl installieren:

dnf install nginx -y

Nach der Installation von Nginx starten Sie den Nginx-Dienst und aktivieren ihn mit folgendem Befehl so, dass er beim Neustart des Systems gestartet wird:

systemctl start nginx
systemctl enable nginx

Nginx als Reverse-Proxy für Apache konfigurieren

Nun müssen Sie den Nginx als Reverse-Proxy konfigurieren, um alle Anfragen, die auf Port 80 kommen, an den Apache-Webserver weiterzuleiten, der auf Port 8080 lauscht.

Erstellen Sie zunächst eine neue Nginx-Konfigurationsdatei für den virtuellen Host mit dem folgenden Befehl:

nano /etc/nginx/conf.d/proxy.conf

Fügen Sie die folgenden Zeilen ein:

server {
    listen 80;
    server_name test.example.com;

    location ~ \.php$ {
        proxy_pass http://your-server-ip:8080;
        proxy_set_header Host $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;
    }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Nginx-Webserver neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Öffnen Sie nun Ihren Webbrowser und rufen Sie die URL http://test.example.com/info.php auf. Sie sollten die folgende Seite sehen:

PHP-Infos über Reverse-Proxy

Wie Sie sehen können, wird PHP von einem Nginx-Webserver bedient.

Fazit

In der obigen Anleitung haben Sie gelernt, wie Sie Nginx als Webserver und Reverse-Proxy für Apache konfigurieren können. Ich hoffe, dies hilft Ihnen, die Leistung Ihrer Website zu steigern.

Das könnte dich auch interessieren …