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.
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.
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
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
OutputAvailable 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
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Überprüfen Sie mit dem systemd
init-System, um sicherzustellen, dass der Dienst ausgeführt wird, indem Sie Folgendes eingeben:
- systemctl status nginx
Outputnginx.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:
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 DigitalOcean zu erfahren, lesen Sie bitte unsere Einführung zu DigitalOcean DNS.
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:
<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:
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 nach your_domain
und www.your_domain
.default
: Antwortet auf alle Anfragen an Port 80
, 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:
...
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:
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.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!