Table of Contents
Einführung
Nginx ist einer der beliebtesten Webserver der Welt und hostet einige der größten und datenverkehrsreichsten Sites im Internet. Nginx ist in den meisten Fällen ressourcenschonender als Apache und kann als Webserver oder Reverse-Proxy verwendet werden.
In diesem Leitfaden erklären wir, wie Sie Nginx auf Ihrem Ubuntu 20.04-Server installieren können. Eine ausführlichere Version dieses Tutorials finden Sie in Installieren von Nginx unter Ubuntu 20.04.
Voraussetzungen
Bevor Sie mit diesem Leitfaden beginnen, sollten Sie einen regulären Benutzer ohne Rootberechtigung mit auf Ihrem Server konfigurierten Sudo-Berechtigungen haben. In unserem Leitfaden zur Ersteinrichtung des Servers unter Ubuntu 20.04. erfahren Sie, wie Sie ein reguläres Benutzerkonto konfigurieren.
Wenn Sie über ein Konto verfügen, melden Sie sich zunächst als Nicht-Root-Benutzer an.
Schritt 1 – Installieren von Nginx
Da Nginx in Standard-Repositories von Ubuntu verfügbar ist, können Sie es mit dem Verpackungssystem apt installieren.
Aktualisieren Sie Ihren lokalen Paketindex:
sudo apt update
Installieren Sie Nginx:
sudo apt install nginx
Schritt 2 – Anpassen der Firewall
Wenn Sie dem Tutorial zur Ersteinrichtung des Servers gefolgt sind, haben Sie die UFW-Firewall aktiviert. Prüfen Sie mit dem folgenden Befehl die verfügbaren ufw-Anwendungsprofile:
sudo ufw app list
[secondary_label Output]
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Lassen Sie uns das restriktivste Profil aktivieren, das den Verkehr, den Sie konfiguriert haben, an Port 80 zulässt:
sudo ufw allow 'Nginx HTTP'
Überprüfen Sie die Änderung:
sudo ufw status
[secondary_label Output]
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Schritt 3 – Testen Ihres Webservers
Überprüfen Sie mit dem systemd init-System, um sicherzustellen, dass der Dienst ausgeführt wird, indem Sie Folgendes eingeben:
systemctl status nginx
[secondary_label Output]
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>
Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago
Docs: man:nginx(8)
Main PID: 13255 (nginx)
Tasks: 2 (limit: 1137)
Memory: 4.6M
CGroup: /system.slice/nginx.service
├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master>
└─13256 nginx: worker process
Öffnen Sie die Standardstartseite von Nginx, um zu bestätigen, dass die Software über Ihre IP-Adresse ordnungsgemäß ausgeführt wird.
http://<^>your_server_ip<^>
Sie sollten nun die Standardstartseite von Nginx erhalten:
Schritt 4 – Einrichten von Serverblocks (empfohlen)
Bei Verwendung des Nginx-Webservers können _Serverblocks_ (ähnlich wie virtuelle Hosts in Apache) genutzt werden, um Konfigurationsdetails einzukapseln und mehr als eine Domäne auf einem einzigen Server zu hosten. Wir richten eine Domäne namens your_domain ein, aber Sie sollten diesen Namen durch Ihren eigenen Domänenamen ersetzen. Um mehr über das Einrichten eines Domänennamens mit the cloud provider zu erfahren, lesen Sie bitte unsere Einführung zu DNS hosting.
Erstellen Sie das Verzeichnis für <^>your_domain<^> mit dem Flag -p, um alle erforderlichen übergeordneten Verzeichnisse zu erstellen:
sudo mkdir -p /var/www/<^>your_domain<^>/html
Erteilen Sie den Besitz des Verzeichnisses:
sudo chown -R $USER:$USER /var/www/<^>your_domain<^>/html
Die Berechtigungen Ihrer Webstämme sollten korrekt sein, wenn Sie Ihren unmask-Wert nicht geändert haben, aber Sie können das durch die folgende Eingabe prüfen:
sudo chmod -R 755 /var/www/<^>your_domain<^>
Erstellen Sie als Nächstes eine index.html Beispielsseite durch die Verwendung von nano oder Ihrem bevorzugten Texteditor:
nano /var/www/<^>your_domain<^>/html/index.html
Fügen Sie dann das folgende HTML-Beispiel hinzu:
[label /var/www/your_domain/html/index.html]
<html>
<head>
<title>Welcome to <^>your_domain<^>!</title>
</head>
<body>
<h1>Success! The <^>your_domain<^> server block is working!</h1>
</body>
</html>
Wenn Sie fertig sind, speichern und schließen Sie die Datei.
Erstellen Sie einen neuen Serverblock in /etc/nginx/sites-available/<^>your_domain<^>:
sudo nano /etc/nginx/sites-available/<^>your_domain<^>
Fügen Sie den folgenden Konfigurationsblock ein, der für unser neues Verzeichnis und den Domänennamen aktualisiert wird:
[label /etc/nginx/sites-available/your_domain]
server {
listen 80;
listen [::]:80;
root /var/www/<^>your_domain<^>/html;
index index.html index.htm index.nginx-debian.html;
server_name <^>your_domain<^> www.<^>your_domain<^>;
location / {
try_files $uri $uri/ =404;
}
}
Wenn Sie fertig sind, speichern und schließen Sie die Datei.
Aktivieren Sie die Datei, indem Sie einen Link von ihr zum Verzeichnis sites-enabled erstellen:
sudo ln -s /etc/nginx/sites-available/<^>your_domain<^> /etc/nginx/sites-enabled/
Zwei Serverblocks sind jetzt aktiviert und so konfiguriert, dass sie anhand ihrer Anweisungen listen und server_name auf Anfragen reagieren:
your_domain: Antwortet auf Anfragen nachyour_domainundwww.your_domain.
default: Antwortet auf alle Anfragen an Port80, die nicht mit den anderen beiden Blocks übereinstimmen.
Um ein mögliches Hash-Bucket-Speicherproblem zu verhindern, das durch das Hinzufügen zusätzlicher Servernamen entstehen kann, ist es erforderlich, einen einzelnen Wert in der Datei /etc/nginx/nginx.conf anzupassen. Öffnen Sie die Datei:
sudo nano /etc/nginx/nginx.conf
Suchen Sie die Anweisung server_names_hash_bucket_size und entfernen Sie das Symbol #, um die Auskommentierung der Zeile aufzuheben:
[label /etc/nginx/nginx.conf]
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
Testen Sie auf Syntaxfehler:
sudo nginx -t
Starten Sie Nginx neu, um Ihre Änderungen zu aktivieren:
sudo systemctl restart nginx
Nginx sollte jetzt für Ihren Domänenamen eingerichtet sein. Sie können dies testen, indem Sie zu http://<^>your_domain<^> navigieren, wo Sie etwas Ähnliches wie dies sehen sollten:
Zusammenfassung
Nachdem Sie Ihren Webserver installiert haben, haben Sie viele Optionen für die Art des Inhalts und die Technologien, die Sie verwenden möchten, um eine umfassendere Benutzererfahrung zu erzielen.
Wenn Sie einen vollständigeren Anwendungsstapel erstellen möchten, lesen Sie diesen Artikel zu Konfigurieren eines LAMP-Stacks unter Ubuntu 20.04.