Tutorial

Installieren von Nginx unter Ubuntu 20.04 [Schnellstart]

Published on June 11, 2020
Deutsch
Installieren von Nginx unter Ubuntu 20.04 [Schnellstart]

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:

  1. sudo apt update

Installieren Sie Nginx:

  1. 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:

  1. sudo ufw app list
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:

  1. sudo ufw allow 'Nginx HTTP'

Überprüfen Sie die Änderung:

  1. sudo ufw status
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:

  1. systemctl status nginx
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:

Nginx-Standardseite

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 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:

  1. sudo mkdir -p /var/www/your_domain/html

Erteilen Sie den Besitz des Verzeichnisses:

  1. 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:

  1. 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:

  1. nano /var/www/your_domain/html/index.html

Fügen Sie dann das folgende HTML-Beispiel hinzu:

/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:

  1. 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:

/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:

  1. 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:

  1. 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:

/etc/nginx/nginx.conf
...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Testen Sie auf Syntaxfehler:

  1. sudo nginx -t

Starten Sie Nginx neu, um Ihre Änderungen zu aktivieren:

  1. 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:

Erster Nginx-Serverblock

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.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Senior Manager, DevEd

Open source advocate and lover of education, culture, and community.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel