Nginx, ausgesprochen „Engine x“, ist ein kostenloser, hochleistungsfähiger Open-Source-HTTP- und Reverse-Proxy-Server, der für die Verarbeitung der Last einiger der größten Websites im Internet verantwortlich ist.
Nginx kann als eigenständiger Webserver und als Reverse-Proxy für Apache und andere Webserver verwendet werden.
Im Vergleich zu Apache kann Nginx eine viel größere Anzahl gleichzeitiger Verbindungen verarbeiten und hat einen geringeren Speicherbedarf pro Verbindung.
In diesem Tutorial werden die Schritte beschrieben, die zum Installieren von Nginx auf einem Ubuntu 18.04-Computer erforderlich sind.
Voraussetzungen #
Bevor Sie mit dem Tutorial beginnen, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind und dass auf Port 80 kein Apache oder ein anderer Webserver ausgeführt wird oder 443 .
Installation von Nginx #
Nginx-Pakete sind in den standardmäßigen Ubuntu-Repositories verfügbar. Die Installation ist ziemlich einfach.
Wir beginnen mit der Aktualisierung der Paketliste und installieren dann Nginx:
sudo apt updatesudo apt install nginx
Sobald die Installation abgeschlossen ist, wird der Nginx-Dienst automatisch gestartet. Sie können den Status des Dienstes mit dem folgenden Befehl überprüfen:
sudo systemctl status nginx Die Ausgabe sieht in etwa so aus:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-04-29 06:43:26 UTC; 8s ago
Docs: man:nginx(8)
Process: 3091 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 3080 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 3095 (nginx)
Tasks: 2 (limit: 507)
CGroup: /system.slice/nginx.service
├─3095 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─3097 nginx: worker process
Konfiguriere Firewall #
Angenommen, Sie verwenden UFW Um Ihre Firewall zu verwalten, müssen Sie HTTP (80 ) und HTTPS (443 ) Häfen. Sie können dies tun, indem Sie das Profil „Nginx Full“ aktivieren, das Regeln für beide Ports enthält:
sudo ufw allow 'Nginx Full' Geben Sie Folgendes ein, um den Status zu überprüfen:
sudo ufw status Die Ausgabe sieht in etwa so aus:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Testen Sie die Installation #
Um Ihre neue Nginx-Installation zu testen, öffnen Sie http://YOUR_IP in Ihrem Browser Ihrer Wahl, und Ihnen wird die Standard-Nginx-Zielseite angezeigt, wie im Bild unten gezeigt:
Verwalten des Nginx-Dienstes #
Sie können den Nginx-Dienst genauso verwalten wie jeden anderen systemd-Dienst.
Um den Nginx-Dienst zu stoppen, führen Sie Folgendes aus:
sudo systemctl stop nginx Geben Sie zum erneuten Starten Folgendes ein:
sudo systemctl start nginx So starten Sie den Nginx-Dienst neu:
sudo systemctl restart nginx Laden Sie den Nginx-Dienst neu, nachdem Sie einige Konfigurationsänderungen vorgenommen haben:
sudo systemctl reload nginx Standardmäßig wird der Nginx-Dienst beim Booten gestartet. Wenn Sie den Nginx-Dienst deaktivieren möchten, um beim Booten zu starten:
sudo systemctl disable nginx Und um es wieder zu aktivieren:
sudo systemctl enable nginx Struktur und Best Practices der Nginx-Konfigurationsdatei #
- Alle Nginx-Konfigurationsdateien befinden sich in
/etc/nginxVerzeichnis. - Die Hauptkonfigurationsdatei von Nginx ist
/etc/nginx/nginx.conf. - Um die Wartung der Nginx-Konfiguration zu vereinfachen, wird empfohlen, für jede Domäne eine separate Konfigurationsdatei zu erstellen. Sie können so viele Serverblockdateien haben, wie Sie benötigen.
- Nginx-Serverblockdateien werden in
/etc/nginx/sites-availablegespeichert Verzeichnis. Die in diesem Verzeichnis gefundenen Konfigurationsdateien werden von Nginx nicht verwendet, es sei denn, sie sind mit/etc/nginx/sites-enabledverknüpft Verzeichnis. - Um einen Serverblock zu aktivieren, müssen Sie einen Symlink (einen Zeiger) von der Konfigurationsdatei sites in einem
sites-availableerstellen Verzeichnis zusites-enabledVerzeichnis. - Es wird empfohlen, die Standard-Namenskonvention zu befolgen, beispielsweise wenn Ihr Domänenname
mydomain.comist dann sollte Ihre Konfigurationsdatei/etc/nginx/sites-available/mydomain.com.confheißen - Der
/etc/nginx/snippetsDas Verzeichnis enthält Konfigurationsausschnitte, die in die Server-Blockdateien aufgenommen werden können. Wenn Sie wiederholbare Konfigurationssegmente verwenden, können Sie diese Segmente in Snippets umgestalten und die Snippet-Datei in die Serverblöcke einfügen. - Nginx-Protokolldateien (
access.logunderror.log) befinden sich im/var/log/nginxVerzeichnis. Es wird empfohlen, einen anderenaccesszu haben underrorProtokolldateien für jeden Serverblock. - Sie können das Root-Verzeichnis Ihrer Domänendokumente auf einen beliebigen Speicherort festlegen. Die häufigsten Speicherorte für Webroot sind:
/home/<user_name>/<site_name>/var/www/<site_name>/var/www/html/<site_name>/opt/<site_name>