Website-Suche

So installieren Sie den Nginx-Webserver unter Ubuntu 20.04


Nginx ist ein Open-Source-Hochleistungs-Webserver, der in Produktionsumgebungen einen enormen Marktanteil hat. Es handelt sich um einen leichten und robusten Webserver, der hauptsächlich zum Hosten stark frequentierter Websites verwendet wird.

Verwandte Lektüre: So installieren Sie den Apache-Webserver unter Ubuntu 20.04

In dieser Anleitung erfahren Sie, wie Sie den Nginx-Webserver installieren und den Nginx-Serverblock (virtuelle Hosts) unter Ubuntu 20.04 LTS konfigurieren.

Voraussetzungen

Stellen Sie zunächst sicher, dass Sie über eine Instanz von Ubuntu 20.04 LTS mit SSH-Zugriff und einen Sudo-Benutzer mit Root-Rechten verfügen. Darüber hinaus wird eine stabile Internetverbindung zur Installation von Nginx-Paketen empfohlen.

Nginx unter Ubuntu 20.04 installieren

1. Aktualisieren Sie vor der Installation von Nginx die Paketlisten Ihres Servers.

sudo apt update

2. Installieren Sie dann Nginx, indem Sie den folgenden Befehl ausführen:

sudo apt install nginx

Wenn Sie zum Fortfahren aufgefordert werden, drücken Sie 'Y' auf der Tastatur und drücken Sie ENTER. Die Installation ist in wenigen Sekunden erledigt.

3. Nachdem Nginx erfolgreich installiert wurde, können Sie es starten und überprüfen, indem Sie Folgendes ausführen:

sudo systemctl start nginx
sudo systemctl status nginx

Die obige Ausgabe zeigt deutlich, dass Nginx ausgeführt wird.

4. Um die Version von Nginx zu überprüfen, führen Sie Folgendes aus:

sudo dpkg -l nginx

Die Ausgabe zeigt, dass wir Nginx 1.17.10 ausführen, was zum Zeitpunkt der Erstellung dieses Artikels die neueste Version war.

Öffnen Sie Nginx-Ports auf der UFW-Firewall

Nachdem Sie Nginx nun wie erwartet installiert haben und ausführen, sind einige Anpassungen erforderlich, damit auf Nginx über einen Webbrowser zugegriffen werden kann. Wenn Sie die UFW-Firewall ausführen, müssen Sie das Nginx-Anwendungsprofil zulassen.

Der UFW-Firewall sind drei Nginx-Profile zugeordnet.

  1. Nginx Full – Dies öffnet sowohl Port 80 als auch 443 (für SSL-/TLS-Verschlüsselung).
  2. Nginx HTTP – Dieser offene Port ist nur 80 (für unverschlüsselten Webverkehr).
  3. Nginx HTTPS – Öffnet nur Port 443 (für SSL-/TLS-Verschlüsselung).

5. Beginnen Sie mit der Aktivierung der Firewall unter Ubuntu 20.04.


sudo ufw enable

6. Da wir uns derzeit nicht auf einem verschlüsselten Server befinden, lassen wir nur das Nginx HTTP-Profil zu, das Datenverkehr auf Port 80 zulässt .

sudo ufw allow 'Nginx HTTP'

7. Laden Sie anschließend die Firewall neu, damit die Änderungen erhalten bleiben.

sudo ufw reload

8. Überprüfen Sie nun den Status der Firewall, um die zugelassenen Profile zu überprüfen.

sudo ufw status

Testen des Nginx unter Ubuntu 20.04

Nginx läuft im Browser, wie Sie es von jedem Webserver erwarten würden, und der sicherste Weg, zu testen, ob es wie erwartet läuft, besteht darin, Anfragen über einen Browser zu senden.

9. Gehen Sie also zu Ihrem Browser und durchsuchen Sie die IP-Adresse oder den Domänennamen des Servers. Um die IP Ihres Servers zu überprüfen, führen Sie den Befehl ifconfig aus:

ifconfig

10. Wenn Sie sich auf einem Cloud-Server befinden, führen Sie den folgenden Curl-Befehl aus, um die öffentliche IP des Servers abzurufen.

curl ifconfig.me

11. Geben Sie im URL-Feld Ihres Browsers die IP-Adresse oder den Domänennamen Ihres Servers ein und drücken Sie die EINGABE-Taste.

http://server-IP or domain-name

Sie sollten wie gezeigt eine standardmäßige Nginx-Begrüßungsseite erhalten.

Verwalten Sie den Nginx-Prozess in Ubuntu 20.04

12. Um den Nginx-Webserver zu stoppen, führen Sie einfach Folgendes aus:

sudo systemctl stop nginx

13. Um den Webserver wieder hochzufahren, führen Sie Folgendes aus:

sudo systemctl start nginx

14. So starten Sie Nginx automatisch beim Booten oder einem Neustart:

sudo systemctl enable nginx

15. Wenn Sie den Webserver neu starten möchten, insbesondere nachdem Sie Änderungen an den Konfigurationsdateien vorgenommen haben, führen Sie Folgendes aus:

sudo systemctl restart nginx

16. Alternativ können Sie wie gezeigt neu laden, um Verbindungsabbrüche zu vermeiden.

sudo systemctl reload nginx

Konfigurieren des Nginx-Serverblocks in Ubuntu 20.04

Wenn Sie vorhaben, mehr als eine Site auf Ihrem Server zu hosten, wird die Einrichtung eines Nginx-Serverblocks dringend empfohlen. Der Serverblock entspricht dem virtuellen Host von Apache.

Standardmäßig wird Nginx mit seinem Standardserverblock ausgeliefert, der so eingestellt ist, dass er Webinhalte im Pfad /var/www/html bereitstellt.

Wir werden einen separaten Nginx-Block erstellen, um den Inhalt unserer Domain bereitzustellen. Für diesen Leitfaden verwenden wir die Domain crazytechgeek.info.
Stellen Sie in Ihrem Fall sicher, dass Sie diesen durch Ihren eigenen Domainnamen ersetzen.

17. Um eine Serverblockdatei zu erstellen, erstellen Sie zunächst wie gezeigt ein Verzeichnis für Ihre Domain.

sudo mkdir -p /var/www/crazytechgeek.info/html

18. Als nächstes weisen Sie dem neuen Verzeichnis mithilfe der Variablen $USER den Besitz zu.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Stellen Sie sicher, dass Sie auch Verzeichnisberechtigungen entsprechend zuweisen, sodass der Eigentümer über alle Berechtigungen (Lesen, Schreiben und Ausführen) verfügt und anderen Parteien nur Lese- und Ausführungsberechtigungen gewährt werden.

sudo chmod -R 755 /var/www/crazytechgeek.info

20. Erstellen Sie im Domänenverzeichnis eine index.html-Datei, die den Webinhalt der Domäne enthält.

sudo vim /var/www/crazytechgeek.info/html/index.html

Fügen Sie den folgenden Inhalt in die Beispieltestdatei ein.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Speichern Sie die Änderungen und beenden Sie die Datei.

21. Damit der Nginx-Webserver den soeben hinzugefügten Inhalt bereitstellen kann, müssen Sie einen Serverblock mit den entsprechenden Anweisungen erstellen. In diesem Fall haben wir einen neuen Serverblock erstellt unter:

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Fügen Sie die angezeigte Konfiguration ein.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Speichern und schließen.

22. Aktivieren Sie nun die Serverblockdatei, indem Sie sie mit dem sites-enabled-Verzeichnis verknüpfen, aus dem der Nginx-Server beim Start liest.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Damit die Änderungen wirksam werden, starten Sie den Nginx-Webserver neu.

sudo systemctl restart nginx

24. Um sicherzustellen, dass alle Konfigurationen in Ordnung sind, führen Sie den folgenden Befehl aus:

nginx -t

Wenn alle Konfigurationen in Ordnung sind, sollten Sie die unten gezeigte Ausgabe erhalten:

25. Der Nginx-Webserver sollte nun den Inhalt Ihrer Domain bereitstellen. Gehen Sie noch einmal zu Ihrem Browser und durchsuchen Sie die Domain Ihres Servers.

http://domain-name

Ihr benutzerdefinierter Inhalt im Verzeichnis Ihrer Domain wird wie gezeigt bereitgestellt.

Wichtige Nginx-Konfigurationsdateien

Bevor wir zum Abschluss kommen, ist es wichtig, dass wir einige der wichtigen Konfigurationsdateien im Zusammenhang mit Nginx untersuchen.

Nginx-Konfigurationsdateien

  • /etc/nginx/nginx.conf: Dies ist die Hauptkonfigurationsdatei. Sie können die Einstellungen ändern, um sie an die Anforderungen Ihres Servers anzupassen.
  • /etc/nginx/sites-available: Dies ist das Verzeichnis, in dem die Serverblockkonfiguration gespeichert wird. Nginx verwendet die Serverblöcke nur, wenn sie mit dem Sites-enabled-Verzeichnis verknüpft sind.
  • /etc/nginx/sites-enabled: Das Verzeichnis enthält Nginx-Serverblöcke pro Site, die bereits aktiviert sind.

Nginx-Protokolldateien

Es gibt zwei Hauptprotokolldateien, die Sie zur Fehlerbehebung bei Ihrem Nginx-Webserver verwenden können:

  • /var/log/nginx/access.log: Hier werden alle an den Webserver gestellten Anfragen protokolliert.
  • /var/log/nginx/error.log: Dies ist die Fehlerprotokolldatei und zeichnet alle Fehler auf, auf die Nginx stößt.
Abschluss

Wir sind am Ende dieses Tutorials angelangt. Wir haben gezeigt, wie Sie Nginx unter Ubuntu 20.04 installieren und wie Sie Nginx-Serverblöcke einrichten können, um den Inhalt Ihrer Domain bereitzustellen. Ihr Feedback ist willkommen.