Zuvor haben wir besprochen, wie der LEMP-Stack, ein gängiger Software-Stack zum Hosten dynamischer Websites, auf Ubuntu 18.04 LTS installiert wird. Software in der Ubuntu LTS-Version (Long Term Support) ist jedoch häufig veraltet. In diesem Tutorial erfahren wir, wie Sie die neueste Version von Nginx unter Ubuntu 18.04 und Ubuntu 20.04 installieren. Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste Version von Nginx 1.17.0, veröffentlicht am 21. Mai 2019. Sie können das Änderungsprotokoll hier einsehen.
Installieren der neuesten Nginx-Version auf Ubuntu 18.04, 20.04 aus dem offiziellen Nginx-Repository
Nginx.org unterhält ein Repository für Ubuntu. Wir können dieses Repository verwenden, um die neueste Version von Nginx zu installieren. Erstellen Sie zunächst mit dem folgenden Befehl eine Repository-Quelldatei für Nginx. Nano ist ein Befehlszeilen-Texteditor.
sudo nano /etc/apt/sources.list.d/nginx.list
Fügen Sie die folgenden zwei Zeilen in die Datei ein.
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx
Wenn Sie Ubuntu 20.04 verwenden, ändern Sie bionic
zu focal
.
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ disco nginx deb-src http://nginx.org/packages/mainline/ubuntu/ disco nginx
Um die Datei im Nano-Texteditor zu speichern, drücken Sie CTRL+O
, und drücken Sie dann Enter
bestätigen. Drücken Sie CTRL+X
beenden. Um die Integrität der aus diesem Repository heruntergeladenen Pakete zu überprüfen, müssen wir den öffentlichen Nginx-Schlüssel mit den folgenden Befehlen importieren.
wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key
Sobald das Repository zu Ihrem Ubuntu 18.04-System hinzugefügt wurde, führen Sie den folgenden Befehl aus, um die Repository-Informationen zu aktualisieren.
sudo apt update
Wenn Sie Nginx aus dem standardmäßigen Ubuntu-Software-Repository installiert haben, müssen Sie es entfernen.
sudo apt remove nginx nginx-common nginx-full nginx-core
Möglicherweise möchten Sie auch die Hauptkonfigurationsdatei von Nginx /etc/nginx/nginx.conf
sichern da sie durch eine neue nginx.conf
ersetzt wird Datei, wenn wir später die neueste Version von Nginx installieren.
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
Ihre vorhandenen Serverblockdateien (auch bekannt als virtuelle Hostdatei) bleiben intakt. Führen Sie nun den folgenden Befehl aus, um Nginx aus dem nginx.org-Repository zu installieren.
sudo apt install nginx
Wenn der apt-Paketmanager Sie fragt, ob Sie eine neue Version der Datei /etc/nginx/nginx.conf installieren möchten, können Sie mit Nein antworten.
Testen Sie nach der Installation von Nginx die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, starten Sie Nginx.
sudo systemctl start nginx
Autostart beim Booten aktivieren.
sudo systemctl enable nginx
Um den Status von Nginx zu überprüfen, führen Sie
aussystemctl status nginx
Ausgabe:
● nginx.service - nginx - high performance web server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2019-05-26 21:01:10 CST; 3s ago Docs: http://nginx.org/en/docs/ Process: 16159 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 16160 (nginx) Tasks: 2 (limit: 4915) CGroup: /system.slice/nginx.service ├─16160 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf └─16161 nginx: worker process May 26 21:01:10 bionic.local.domain systemd[1]: Starting nginx - high performance web server... May 26 21:01:10 bionic.local.domain systemd[1]: Started nginx - high performance web server.
Um die Nginx-Version zu überprüfen, verwenden Sie diesen Befehl:
nginx -v
Ausgabe:
nginx version: nginx/1.17.0
Sie können auch detailliertere Informationen abrufen mit:
nginx -V
Ausgabe:
Festlegen des Nginx-Prozessbenutzers
Das Nginx-Paket aus dem nginx.org-Repository set nginx
als Benutzer des Nginx-Prozesses, was aus der ersten Zeile von /etc/nginx/nginx.conf
abgeleitet werden kann Datei. (Wenn Sie sich entschieden haben, die neue Version von /etc/nginx/nginx.conf
zu installieren Datei.)
user nginx;
Der Standardbenutzer und die Standardgruppe des PHP-FPM-Prozesses ist jedoch www-data
wie in /etc/php/7.2/fpm/pool.d/www.conf
zu sehen ist Datei.
user = www-data group = www-data
Also müssen wir www-data
setzen als Benutzer des Nginx-Prozesses in /etc/nginx/nginx.conf
Datei.
sudo nano /etc/nginx/nginx.conf
Ändern
user nginx;
zu
user www-data;
Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu.
sudo systemctl reload nginx
Einschließen von Serverblockdateien
Standardmäßig nur Dateien unter /etc/nginx/conf.d/
Verzeichnis enthalten sein. Wenn Sie auch Serverblockdateien in sites-enabled
verwenden möchten Verzeichnis, stellen Sie dann sicher, dass die folgenden Zeilen in http
hinzugefügt werden Abschnitt von nginx.conf
Datei.
include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;
Installieren Sie das Certbot Nginx-Plugin
Wenn Sie Nginx zuvor aus dem Ubuntu-Repository installiert haben, wurde das Paket python3-certbot-nginx wahrscheinlich entfernt, als Sie Nginx aus dem nginx.org-Repository installiert haben. Wir müssen es erneut installieren, damit Ihr TLS-Zertifikat wie gewohnt automatisch verlängert werden kann.
sudo apt install python3-certbot-nginx
So starten Sie Nginx automatisch neu
Manchmal kann Nginx aus verschiedenen Gründen abstürzen. Wenn Sie es vorziehen, dass Nginx nach einem Absturz automatisch neu gestartet wird, müssen wir die Nginx-Diensteinheit bearbeiten. Kopieren Sie zuerst die ursprüngliche Nginx-Diensteinheit in /etc/systemd/system/
Verzeichnis.
sudo cp /lib/systemd/system/nginx.service /etc/systemd/system/nginx.service
Bearbeiten Sie dann die Serviceeinheit.
sudo nano /etc/systemd/system/nginx.service
Fügen Sie die folgende Zeile in [service]
hinzu Abschnitt.
Restart=always RestartSec=2
So:
[Service] Type=forking PIDFile=/var/run/nginx.pid ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID Restart=always RestartSec=2
Dadurch versucht Nginx, sich nach einem Absturz alle 2 Sekunden neu zu starten. Speichern und schließen Sie die Datei. Starten Sie dann Nginx neu.
sudo systemctl restart nginx
Nächster Schritt
Ich hoffe, dieses Tutorial hat Ihnen geholfen, die neueste Version von Nginx auf Ubuntu 18.04 und Ubuntu 20.04 zu installieren. Möglicherweise möchten Sie auch die neueste Version des MariaDB-Datenbankservers auf Ubuntu 18.04 und 20.04 installieren.
- So installieren Sie MariaDB 10.5 auf Ubuntu 18.04, Ubuntu 20.04
Und wenn Ihnen Sicherheit am Herzen liegt, können Sie die Webanwendungs-Firewall von ModSecurity einrichten, um Ihre WordPress-Site vor Hackern zu schützen.
- So richten Sie ModSecurity mit Nginx unter Debian/Ubuntu ein
Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter um neue Tipps und Tricks zu erhalten 🙂