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

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

sudo apt install nginx

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'

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“.

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

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.

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

sudo nginx

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 stop

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

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

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

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>

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

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;
    }
}

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/

Starten Sie den Server neu:

sudo systemctl restart nginx

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

Zum Hauptmenü