So installieren Sie NGINX auf Ubuntu 20.04 und der Host-Website

NGINX ist eine Open-Source-Webserver-Software. Sie können NGINX als eigenständigen Webserver oder als Proxy vor anderen Webservern (im Wesentlichen Reverse-Proxy) bereitstellen. Nginx ist einer der besten Webserver zum Hosten einer Website mit hohem Datenverkehr.

In diesem Tutorial konzentrieren wir uns auf Installation von NGINX als eigenständiger Webserver auf Ubuntu 20.04.

Installieren Sie NGINX unter Ubuntu 20.04

Zuerst laufen sudo apt-get-Update um Informationen zu neuen und aktualisierten Paketen abzurufen, bevor Sie mit der Installation von NGINX fortfahren.

Nginx ist im Ubuntu-Paket-Repository verfügbar. Es ist also einfach, Nginx mit dem folgenden Befehl zu installieren:

$ sudo apt-get install nginx

Überprüfen Sie den NGINX-Dienststatus

Lassen Sie uns eine kurze Überprüfung durchführen, um den Status des NGINX-Dienstes zu bestätigen, und führen Sie den folgenden Befehl aus:

$ sudo systemctl status nginx

Überprüfen Sie den Nginx-Status auf Ubuntu 20.04

Die Ausgabe des obigen Befehls bestätigt, dass NGINX . ist aktiv und läuft. Wenn Sie eine Meldung erhalten, dass NGINX inaktiv ist, nicht gestartet wurde oder nicht ausgeführt wird, können Sie den NGINX-Dienst manuell starten, indem Sie den folgenden Befehl ausführen.

$ sudo systemctl start nginx

Um die Nginx-Version zu überprüfen, führen Sie Folgendes aus:

$ sudo dpkg -l nginx

Überprüfen Sie die nginx-Version von UbuntuÜberprüfen Sie die Nginx-Version auf Ubuntu

Die Ausgabe zeigt Nginx-Version 1.18.0 läuft auf Ubuntu 20.04, als dieses Tutorial geschrieben wurde.

Testen Sie den NGINX-Webserver

Nachdem Sie bestätigt haben, dass der NGINX-Dienst aktiv ist und ausgeführt wird, können Sie nun den Webserver testen, indem Sie Ihren bevorzugten Webbrowser öffnen und die IP-Adresse Ihres Servers (https://your_server_ip) eingeben, auf dem NGINX installiert ist.

Sie sollten die Standardwebseite mit dem Titel “Willkommen bei nginx!

NGINX-StandardwebseiteNGINX-Standardwebseite

Stellen Sie außerdem sicher, dass der entsprechende Port in Ihrer Firewall geöffnet ist. Wenn Sie beispielsweise die Unkomplizierte Firewall (ufw) auf Ihrem Ubuntu-Server sollten Sie versuchen, die Firewall-Regeln zu aktualisieren, damit NGINX auf Port 80 und/oder 443 wie folgt kommunizieren kann.

So erlauben Sie NGINX auf Port 80:

$ sudo ufw allow 'Nginx HTTP'

So erlauben Sie NGINX auf Port 443:

$ sudo ufw allow 'Nginx HTTPS'

NGINX-Serverblöcke einrichten

Wenn Sie mehrere Websites auf demselben NGINX-Webserver hosten möchten, müssen Sie Serverblöcke einrichten. Serverblöcke werden auch als virtuelle Hosts bezeichnet (hauptsächlich in Apache).

NGINX ist mit nur einem Serverblock vorkonfiguriert und hier finden sich Konfigurationsdetails für die Standard-Website (/etc/nginx/sites-available) gespeichert werden (/var/www/html).

Lass uns mal sehen.

$ sudo ls -l /etc/nginx/sites-available
total 8
-rw-r--r-- 1 root root 2416 Mar 26 2020 default

Führen Sie den folgenden Befehl aus, um den Inhalt der standardmäßigen Serverblockdatei anzuzeigen.

$ sudo cat /etc/nginx/sites-available/default | more

Drücken Sie die Leertaste auf Ihrer Tastatur, um jeweils eine Seite nach unten zu scrollen. Sie werden sehen, dass die Datei Standard-Serverkonfigurationsdetails enthält, wie z. B. die Listenportnummer, das Dokumentenstammverzeichnis (dh Basisordner zum Speichern von Websiteinhalten), die Indexdatei und den Servernamen.

Sie sollten auch einen Abschnitt mit dem Titel . sehen Konfiguration des virtuellen Hosts Wie nachfolgend dargestellt. Sie können Ihre zusätzliche Website hier konfigurieren, es ist jedoch besser, eine separate Serverblockdatei zu erstellen und die Standarddatei unverändert zu lassen.

/etc/nginx/sites-available/default

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}

Kopieren Sie in der Zwischenzeit die obigen Beispielkonfigurationsinformationen und speichern Sie sie in einem Texteditor. Wir werden diese Informationen bald verwenden.

Website-Root erstellen

Als nächstes müssen Sie einen Stammordner erstellen unter / var / www um die Inhalte für Ihre zusätzliche Website zu speichern. Für example, werde ich einen Ordner namens domain1.com für meine domain1.com-Website erstellen.

Notiz: Sie sollten domain1 durch Ihren eigenen registrierten Domainnamen ersetzen. Sie sollten auch die DNS-Einträge aktualisieren, um Ihren Domänennamen auf die öffentliche IP-Adresse Ihres NGINX-Webservers zu verweisen.

sudo mkdir /var/www/domain1.com

Erstellen Sie eine Indexdatei

Die Indexdatei ist die Hauptseite, die beim Öffnen einer Website angezeigt wird. Führen Sie den folgenden Befehl aus, um eine Indexdatei für Ihre zusätzliche Website zu erstellen.

$ sudo nano /var/www/domain1.com/index.html

Ich verwende Nano dabei example Sie können jedoch Ihren bevorzugten Texteditor verwenden. Als nächstes können Sie den folgenden HTML-Code zu Testzwecken kopieren und einfügen.

<!DOCTYPE html>
<html>
<head>
<title>Welcome to Domain1!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to Domain1!</h1>
<p>If you see this page, the Domain1 website is working!</p>
</body>
</html>

Save Änderungen und close der Texteditor.

Erstellen Sie einen Serverblock

Der nächste Schritt besteht darin, eine Serverblockdatei zu erstellen, die Konfigurationsdetails für die zusätzliche Website enthält. Führen Sie den folgenden Befehl aus.

$ sudo nano /etc/nginx/sites-available/domain1

Kopieren Sie die zuvor gespeicherten Beispielkonfigurationsinformationen für den virtuellen Host und fügen Sie sie in die neue Datei ein. Stellen Sie ab der Zeile “Server” sicher, dass Sie alle löschen # Symbole zum Auskommentieren der Richtlinien. Denken Sie auch daran, “domain1” entsprechend durch Ihren eigenen registrierten Domainnamen zu ersetzen.

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
server {
listen 80;
listen [::]:80;

server_name domain1.com www.domain1.com;

root /var/www/domain1.com;
index index.html;

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

Save Änderungen und close Diese Datei.

Serversperre aktivieren

Um NGINX mitzuteilen, dass die zusätzliche Website verfügbar ist, führen Sie den folgenden Befehl aus, um einen symbolischen Link zur Serverblockdatei zu erstellen.

$ ln -s /etc/nginx/sites-available/domain1 /etc/nginx/sites-enabled

Testen Sie Ihre Konfiguration

Lauf sudo nginx -t um Ihre Serverblockkonfiguration zu testen. Sie sollten eine Meldung sehen, dass alles in Ordnung ist.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Du darfst laufen sudo service nginx neu laden um die Konfigurationsdateien neu zu laden.

Testen Sie Ihre neue Website

Öffnen Sie einen Webbrowser und geben Sie Ihre neue Website-Adresse ein. Sie sollten den Inhalt der Indexdatei sehen, die für Ihre neue Website erstellt wurde, und nicht die Standard-NGINX-Webseite.

Hosten einer zusätzlichen Website mit ServerblockHosten einer zusätzlichen Website mit Serverblock

Grundlegende Befehle zur Steuerung von NGINX

Lassen Sie uns grundlegende Nginx-Befehle lernen, um Ihren Webserver zu verwalten.

Der Neustart Befehl beendet den Dienst und startet ihn dann erneut.

$ sudo systemctl restart nginx

Der neu laden Befehl weist NGINX an, seine Konfigurationsdateien neu zu laden, jedoch ohne den Dienst zu stoppen.

$ sudo systemctl reload nginx

Der halt Befehl beendet den NGINX-Dienst.

$ sudo systemctl stop nginx

Zu ermöglichen der Nginx-Dienst zum Starten beim Booten, Ausführen

$ sudo systemctl enable nginx

Hinweis: Standardmäßig ist der Nginx-Dienst so aktiviert, dass er beim Hochfahren des Servers automatisch gestartet wird.

Grundlegende NGINX-Konfiguration und Protokolldateien

/etc/nginx — Enthält alle NGINX-Konfigurationsdateien

/etc/nginx/sites-verfügbar Enthält Serverblockdateien, die Konfigurationsdetails für die Bereitstellung einer oder mehrerer Websites speichern

/etc/nginx/sites-enabled — Enthält Konfigurationsdateien für eine oder mehrere aktivierte Websites

/etc/nginx/nginx.conf — Hauptkonfigurationsdatei, die auch Konfigurationsanweisungen in anderen Dateien liest

/var/log/nginx/access.log — Standardspeicherort zum Speichern von Informationen über alle Besuche Ihrer Website

/var/log/nginx/error.log — Standardspeicherort zum Speichern von NGINX-Fehlern

Fazit

Wenn Sie dieser Anleitung folgen, sollten Sie in der Lage sein, NGINX mit einer oder mehreren Websites auf Ihrem Ubuntu 20.04-Server zum Laufen zu bringen. Wenn Sie jedoch auf Probleme stoßen, teilen Sie uns dies bitte im Kommentarbereich unten mit und wir werden unser Bestes tun, um Ihnen zu helfen.