Für diejenigen, die Debian 11 verwenden Sie haben vielleicht bemerkt, dass die Installation von Nginx direkt aus dem Debian-Repository wird nicht installiert die neueste stabile oder Hauptversion . Es ist ziemlich weit hinter dem stabilen Nginx zurück und Mainline befindet sich auf dem aktuellen Stand seiner Entwicklung.
Für die meisten wird die Verwendung des Standard-Nginx bevorzugt, das mit Debian geliefert wird, aber für diejenigen, die neuere Versionen für die neuesten Funktionen verwenden möchten, behandelt das folgende Tutorial die dazu erforderlichen Schritte.
Voraussetzungen
- Empfohlenes Betriebssystem: Debian 11 Bullseye
- Benutzerkonto: Ein Benutzerkonto mit Sudo- oder Root-Zugriff.
Betriebssystem aktualisieren
Aktualisieren Sie Ihr Debian Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:
sudo apt update && sudo apt upgrade -y
Das Tutorial verwendet den sudo-Befehl und vorausgesetzt, Sie haben den Sudo-Status .
So überprüfen Sie den Sudo-Status Ihres Kontos:
sudo whoami
Beispielausgabe, die den Sudo-Status zeigt:
[joshua@debian~]$ sudo whoami
root
Um ein bestehendes oder neues Sudo-Konto einzurichten, besuchen Sie unser Tutorial zum Hinzufügen eines Benutzers zu Sudoers unter Debian .
So verwenden Sie das Root-Konto verwenden Sie den folgenden Befehl mit dem Root-Passwort, um sich anzumelden.
su
Vorherige Nginx-Installation entfernen
Zuerst müssen Sie entfernen alle früheren Nginx-Installationen die vor der Installation von Nginx Mainline aktiv sind.
Stoppen Sie Nginx mit systemctl Befehl wie folgt:
systemctl stop nginx
Erstellen Sie eine Kopie Ihrer nginx.conf Datei zur Sicherung, falls Sie versehentlich Ihre vorhandene überschreiben oder löschen:
cp /etc/nginx/nginx.conf /etc/nginx/nginx-backup.conf
Entfernen Sie als Nächstes Nginx mit dem folgenden Befehl:
apt remove nginx
Erforderliche Pakete installieren
Einige zusätzliche Pakete sind erforderlich, um die neuesten Versionen von Nginx Mainline oder Stable aus dem offiziellen Nginx-Repository zu installieren. Führen Sie den folgenden Befehl aus, um sie auf Ihrem Debian Bullseye-System zu installieren oder zu überprüfen, ob sie installiert sind:
apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
Importieren Sie die Ngnix-Repositories
Als nächstes sind einige Schritte erforderlich, um das Repository wie folgt erfolgreich zu importieren.
GPG-Schlüssel importieren
Mit dem curl-Befehl , importieren Sie den GPG-Schlüssel, damit der APT-Paketmanager die Authentizität der Nginx-Mainline-Pakete überprüfen kann:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Sehr der GPG-Schlüssel
Als Nächstes wird empfohlen, die heruntergeladene Datei zu testen und zu überprüfen, ob sie den richtigen Schlüssel enthält. Verwenden Sie dazu den folgenden Befehl in Ihrem Terminal:
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
Die Beispielausgabe sollte erscheinen:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <[email protected]>
Nginx Mainline-Repository importieren
Um das Nginx Mainline-Repository einzurichten und zu importieren, führen Sie den folgenden Befehl in Ihrem Terminal aus:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Stabiles Nginx-Repository importieren
Verwenden Sie für Nginx Stable das gleiche wie oben für Nginx Mainline den folgenden Befehl in Ihrem Terminal:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Pin the Nginx Repository Version to Install
Verwenden Sie als Nächstes den folgenden Pinning-Befehl, damit Debian das Nginx-Repository über das Standard-Debian-Nginx-Repository verwendet:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
Beispielausgabe:
se o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900
Installieren Sie Nginx Mainline oder Stable
Nachdem Sie das Repository eingerichtet haben, müssen Sie vor dem Ausführen des Nginx-Installationsbefehls Ihre Repository-Liste aktualisieren, um die neuen Änderungen wie folgt widerzuspiegeln:
apt update
Führen Sie als Nächstes den Nginx-Installationsbefehl aus. Dadurch wird die neueste Nginx-Version des von Ihnen importierten Repositorys installiert, die entweder Mainline oder Stable ist:
apt install nginx -y
Beachten Sie, dass Sie möglicherweise aufgefordert werden, Ihre vorhandene /etc/nginx/ beizubehalten oder zu ersetzen nginx.conf Konfigurationsdatei während der Installation. Es wird empfohlen, Ihre aktuelle Konfigurationsdatei beizubehalten, indem Sie (n) drücken . Unabhängig von der Version des Betreuers wird eine Kopie erstellt, und Sie können dies auch in Zukunft überprüfen.
Überprüfen Sie, ob Nginx erfolgreich und auf der neuesten Version installiert wurde, indem Sie den folgenden Befehl ausführen:
sudo nginx -v
Beispielausgabe (Beispiel für Nginx Mainline)
nginx version: nginx/1.21.1
Wie oben, ist die zum Zeitpunkt des Schreibens erfolgreich installierte Version die neueste Nginx Mainline-Version.
Standardmäßig sollte Nginx aktiviert sein, wenn es nicht aktiviert ist. verwenden:
sudo systemctl start nginx
Verwenden Sie den folgenden Befehl, um zu ermöglichen, dass Nginx beim Booten gestartet wird:
sudo systemctl enable nginx
Beispielausgabe bei Erfolg:
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
Überprüfen Sie den Status von Nginx:
sudo systemctl status nginx
Beispielausgabe:
Nginx aktualisieren
Für zukünftige Updates müssen Sie lediglich den APT-Paketmanager ausführen, so wie Sie Ihr System wie gewohnt nach Updates durchsuchen würden.
apt update
Wenn ein Update verfügbar ist, führen Sie den folgenden Befehl aus, der mit dem Start des Tutorials zum Aktualisieren Ihres Debian-Systems identisch ist:
apt upgrade
Alternative Installationsoption – Ondřej Surý Repository
Eine alternative Methode besteht darin, die neueste Nginx-Mainline oder Stable aus dem Ondřej Surý-Repository zu installieren. Viele Ubuntu-Benutzer würden sein PPA kennen, und Sie können das Gleiche in Debian tun.
Um die neueste Version von Nginx Mainline oder Stable zu verwenden, müssen Sie zuerst das Repository importieren.
So importieren Sie das Mainline-Repository:
curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x
So importieren Sie ein stabiles Repository:
curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x
Aktualisieren Sie Ihr Repository, um die neue Änderung widerzuspiegeln:
apt update
Nachdem Sie nun das Nginx-Repository installiert haben und die Repository-Liste aktualisiert haben, installieren Sie Nginx wie folgt:
apt install nginx-core nginx-common nginx nginx-full
Beispielausgabe:
Geben Sie Y ein , dann drücken Sie die Eingabetaste um fortzufahren und die Installation abzuschließen.
Beachten Sie, dass Sie möglicherweise aufgefordert werden, Ihre vorhandene /etc/nginx/ beizubehalten oder zu ersetzen nginx.conf Konfigurationsdatei während der Installation. Es wird empfohlen, Ihre aktuelle Konfigurationsdatei beizubehalten, indem Sie (n) drücken . Unabhängig von der Version des Betreuers wird eine Kopie erstellt, und Sie können dies auch in Zukunft überprüfen.
Sie werden feststellen, dass in dieser Version zusätzliche Module verfügbar sein werden, insbesondere die Brotli-Unterstützung. Befolgen Sie die nachstehenden Schritte, um Brotli zu installieren.
Öffnen Sie Ihre nginx.conf Konfigurationsdatei:
nano /etc/nginx/nginx.conf
Fügen Sie nun die zusätzlichen Zeilen zuvor im HTTP{} hinzu Abschnitt:
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
Das brotli_comp_level kann zwischen 1 (niedrigste) eingestellt werden und 11 (höchste) . Normalerweise sitzen die meisten Server in der Mitte, aber wenn Ihr Server ein Monster ist, stellen Sie ihn auf 11 und überwachen Sie die CPU-Auslastung.
Testen Sie als Nächstes, ob die Änderungen richtig funktionieren, bevor Sie sie live schalten:
sudo nginx -t
Wenn die Änderungen korrekt funktionieren, sollten Sie Folgendes sehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Machen Sie die Änderungen jetzt live, indem Sie Ihren Server neu starten:
sudo systemctl restart nginx