Die Webserver-Software Nginx lässt sich in nur wenigen Schritten unter Ubuntu in­stal­lie­ren. Erfahren Sie, wie das geht und welche An­for­de­run­gen der Server hat.

Welche An­for­de­run­gen hat ein Nginx-Webserver?

Für Nginx benötigen Sie einen Server mit Linux als Be­triebs­sys­tem. Ubuntu hat sich als einfache und stabile Dis­tri­bu­ti­on bewehrt. Welche Kapazität Ihr Ubuntu-Server benötigt, hängt von Ihrem Vorhaben ab. Schon eine kleine Hardware-Kon­fi­gu­ra­ti­on kann für eine einfache Website genügen. Nginx ist dafür bekannt, Res­sour­cen zu sparen, ohne Leistung ein­zu­bü­ßen.

Für den Anfang empfiehlt sich:

  • 100 GB Spei­cher­platz
  • 6 GB RAM
  • 1 CPU-Core

Wenn Sie sich bei IONOS für einen Cloud Server mit Flex-Tarif ent­schei­den, können Sie die Hardware frei kon­fi­gu­rie­ren. Der Vorteil: Steigen Ihre An­for­de­run­gen, passen Sie Ihre Kon­fi­gu­ra­ti­on einfach an.

Tipp

Eventuell ist der Cloud Server nicht die richtige Lösung für Ihr Projekt. Bei IONOS finden Sie auch Dedicated Server, bei denen nur Sie auf die Hardware zugreifen, und vServer (VPS) mit voll­stän­di­ger Vir­tua­li­sie­rung.

Damit man Ihren Webserver im Internet auch aufrufen kann, benötigen Sie zu­sätz­lich eine Domain.

Domain-Check

Schritt-für-Schritt-Anleitung: Nginx auf Ubuntu 20.04 in­stal­lie­ren

In nur wenigen Schritten in­stal­lie­ren und kon­fi­gu­rie­ren Sie Nginx unter Ubuntu.

Schritt 1: Software her­un­ter­la­den und in­stal­lie­ren

Bevor Sie Nginx in­stal­lie­ren, ak­tua­li­sie­ren Sie zunächst die Pa­ket­ver­wal­tung Ihres Systems:

sudo apt update
sudo apt upgrade
bash

Dann in­stal­lie­ren Sie Nginx auf Ihrem System:

sudo apt install nginx
bash

Sie müssen nun nur noch den In­stal­la­ti­ons­pro­zess be­stä­ti­gen.

Schritt 2: Port freigeben

Damit man von außen auf Ihren Webserver zugreifen kann, müssen Sie Ihre Firewall kon­fi­gu­rie­ren. Innerhalb von Ubuntu ist dafür das Programm „ufw“ zuständig. Für eine möglichst re­strik­ti­ve Ein­stel­lung wählen Sie folgenden Befehl:

sudo ufw allow 'Nginx HTTP'
bash

Damit geben Sie Port 80 frei. Unter Umständen müssen Sie dies in den Ein­stel­lun­gen des Hosters wie­der­ho­len. Im IONOS Cloud Panel bei­spiels­wei­se finden Sie die Port-Freigabe unter dem Punkt „Firewall“.

Bild: IONOS Cloud Panel: Firewall-Einstellungen mit freigegebenem Port 80
IONOS Cloud Panel: Firewall-Ein­stel­lun­gen mit frei­ge­ge­be­nem Port 80

Schritt 3: Server testen, starten und stoppen

Nun können Sie prüfen, ob die In­stal­la­ti­on des Web­ser­vers funk­tio­niert hat. Im Terminal geben Sie dafür diesen Befehl ein:

systemctl status nginx
bash

In der Ausgabe müssten Sie sehen, dass der Status des Servers „active“ ist. Zu­sätz­lich können Sie den Server im Browser aufrufen. Geben Sie dafür in der Adress­zei­le des Browsers die IP-Adresse des Servers ein.

Bild: Willkommensbotschaft eines Nginx-Webservers im Browser
Will­kom­mens­bot­schaft eines Nginx-Web­ser­vers im Browser

Sie haben auch die Mög­lich­keit, den Server manuell zu starten:

sudo nginx
bash

Neben diesem Kommando gibt es noch weitere, mit denen Sie Ihren Nginx-Webserver kon­trol­lie­ren:

  • stop: Stoppt den laufenden Webserver sofort.
  • quit: Stoppt den laufenden Webserver, nachdem an­ge­fan­ge­ne Prozesse aus­ge­führt wurden.
  • reload: Lädt die Kon­fi­gu­ra­ti­ons­da­tei erneut.

Die Befehle folgen dabei folgendem Muster:

sudo nginx -s stop
bash

Schritt 4: Testseite erstellen

Nginx hat unter Ubuntu 20.04 au­to­ma­tisch eine Website mit Will­kom­mens­bot­schaft erzeugt. Sie finden das HTML-Dokument dazu unter /var/www/html/. Man könnte in diesem Ordner nun weitere HTML-Dokumente erzeugen und so die eigene Website aufbauen. Besser ist es al­ler­dings, den Ordner unberührt zu lassen und einen neuen Ordner für die eigene Domain auf­zu­bau­en. Dafür führen Sie folgenden Befehl aus:

sudo mkdir -p /var/www/example.com/html
bash

In diesem Beispiel verwenden wir den Domain-Namen example.com; Sie geben Ihren eigenen Domain-Namen an – sowohl hier als auch im Folgenden. Jetzt vergeben Sie noch Rechte:

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
bash

In dem neuen Ordner legen Sie Ihr erstes HTML-Dokument an – die Start­sei­te Ihres Projekts:

sudo nano /var/www/example.com/html/index.html
bash

Diese Start­sei­te gestalten Sie prin­zi­pi­ell, wie Sie möchten. Hier ist ein einfaches Beispiel, das Sie mit Ihrem eigenen Inhalt füllen können:

<html>
    <head>
        <title>Example</title>
    </head>
    <body>
        <h1>Test</h1>
        <p>Welcome to your first website<p>
    </body>
</html>
markup

Speichern und schließen Sie das Dokument.

Bisher würde der Webserver noch den alten Stan­dard­gruß aus­spie­len. Sie müssen Nginx also ver­mit­teln, dass der neue Content auf­ge­ru­fen werden soll. Dafür erstellen Sie eine neue Kon­fi­gu­ra­ti­ons­da­tei im Nginx-Order:

sudo nano /etc/nginx/sites-available/example.com
bash

In diese neue Datei fügen Sie einen Server-Block ein:

server {
    listen 80;
    listen [::]:80;
    root /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html;
    server_name example.com www.example.com;
    location / {
        try_files $uri $uri/ =404;
    }
}
nginx

Achten Sie darauf, dass Sie hier den richtigen freien Port angeben. Sind Sie unserer Anleitung gefolgt, dann haben Sie ebenfalls Port 80 frei­ge­ge­ben. Speichern und schließen Sie die Datei.

Sie haben diese Kon­fi­gu­ra­ti­ons­da­tei im Ordner „sites-available“ erstellt. Nun müssen Sie im Ordner „sites-enabled“ eine Ver­knüp­fung her­stel­len. Diesen Ordner verwendet Nginx beim Hoch­fah­ren, um zu ermitteln, welche Website aus­ge­spielt werden soll.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
bash

Starten Sie den Server neu:

sudo systemctl restart nginx
bash

Wenn Sie jetzt Ihre Domain im Browser aufrufen, sollte Ihre neue Website angezeigt werden.

Reviewer

Zum Hauptmenü