Das Erstellen von NGINX aus dem Quellcode unter Debian 12, 11 oder 10 bietet mehrere Vorteile und potenzielle Nachteile. Durch das Kompilieren aus dem Quellcode können Sie NGINX mit spezifischen Modulen und Optimierungen anpassen, die auf Ihre Bedürfnisse zugeschnitten sind, und so mehr Kontrolle über den Erstellungsprozess haben. Mit dieser Methode können Sie auch sicherstellen, dass Sie über die neuesten Funktionen und Sicherheitspatches verfügen, bevor diese in den offiziellen Repositories verfügbar sind.
Es gibt jedoch einige potenzielle Nachteile, die zu berücksichtigen sind. Das Erstellen aus dem Quellcode erfordert mehr Zeit und Aufwand als die Installation vorkompilierter Pakete. Außerdem ist ein gutes Verständnis des Erstellungsprozesses und der Abhängigkeiten erforderlich. Darüber hinaus kann die Verwaltung von Updates komplexer sein, da Sie NGINX für jede neue Version manuell neu kompilieren müssen.
Dieses Handbuch zeigt, wie man NGINX aus dem Quellcode unter Debian 12, 11 oder 10 erstellt und behandelt die notwendigen Schritte und Befehle für eine erfolgreiche Installation.
Schritt 1: Debian aktualisieren und upgraden
Bevor Sie mit der Installation beginnen, aktualisieren Sie Ihr Debian-System. Verwenden Sie diese Befehle im Terminal:
sudo apt update
sudo apt upgrade
Diese Befehle rufen die Liste der verfügbaren Updates ab und aktualisieren anschließend Ihr System. So wird sichergestellt, dass Sie mit der neuesten Software arbeiten.
Schritt 2: Erforderliche Abhängigkeiten installieren
Installieren Sie die erforderlichen Anfangspakete zum Kompilieren von Nginx mit dem folgenden Befehl:
sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev
Schritt 3: NGINX-Quellcode herunterladen
Nachdem die erforderlichen Abhängigkeiten installiert wurden, besteht der nächste Schritt darin, den NGINX-Quellcode herunterzuladen. Besuchen Sie die NGINX-Website und wählen Sie die Version, die Ihren Anforderungen am besten entspricht. Sie können sich für die neueste Hauptversion, die stabile Version oder eine andere Version entscheiden.
Verwenden Sie den Befehl wget, um die gewünschte Version herunterzuladen:
wget http://nginx.org/download/nginx-x.x.x.tar.gz
Ersetzen Sie xxx durch die Versionsnummer. Um beispielsweise die neueste Hauptversion 1.25.1 herunterzuladen, verwenden Sie Folgendes:
wget https://nginx.org/download/nginx-1.25.1.tar.gz
Hinweis: Kopieren Sie den obigen Befehl nicht. Dies ist nur ein Beispiel. Stellen Sie sicher, dass Sie den neuesten stabilen oder Mainline-Download-Link erhalten.
Schritt 4: Extrahieren Sie den Quellcode
Der Quellcode wird in einem komprimierten Tarball bereitgestellt. Extrahieren Sie ihn mit diesem Befehl:
tar -xzvf nginx-1.25.1.tar.gz
Navigieren Sie dann zum neu extrahierten Verzeichnis:
cd nginx-1.25.1
Schritt 5: NGINX-Optionen konfigurieren
Richten Sie für diesen Schritt die NGINX-Optionen aus der Quelle ein. Das bedeutet, dass Sie die Pfade und Module für Ihren NGINX-Build auswählen. Verwenden Sie diesen Befehl:
./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-http_v3_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module
Die Optionen bedeuten Folgendes:
- –prefix=/var/www/html: Legt das Stammverzeichnis für die Installation fest.
- –sbin-path=/usr/sbin/nginx: Legt fest, wohin das Nginx-Programm geht.
- –conf-path=/etc/nginx/nginx.conf: Wählt den Speicherort der Hauptkonfigurationsdatei von NGINX.
- –http-log-path=/var/log/nginx/access.log und –error-log-path=/var/log/nginx/error.log: Definieren Sie, wo sich die Protokolldateien befinden.
- –with-pcre: Aktiviert PCRE (Perl Compatible Regular Expressions) für Konfigurationsdateien.
- –lock-path=/var/lock/nginx.lock und –pid-path=/var/run/nginx.pid: Legen Sie Speicherorte für die Sperr- und PID-Dateien fest.
- –with-http_ssl_module: Aktiviert das SSL-Modul für sichere Webverbindungen.
- –with-http_image_filter_module=dynamic: Schaltet das Bildfiltermodul ein.
- –modules-path=/etc/nginx/modules: Definiert, wohin dynamische Module gehen.
- –with-http_v2_module: Schaltet das HTTP/2-Modul ein.
- –with-stream=dynamic: Aktiviert das Stream-Modul dynamisch.
- –with-http_addition_module und –with-http_mp4_module: Aktivieren Sie die Additions- und MP4-Module.
Wenn Sie das HTTP/3-Modul nicht verwenden möchten, lassen Sie einfach –with-http_v3_module weg. HTTP/3 bietet schnelleres und zuverlässigeres Surfen im Internet.
Schritt 6: NGINX installieren (NGINX kompilieren und erstellen)
Nachdem Sie die Optionen zum Erstellen von NGINX aus der Quelle konfiguriert haben, ist es an der Zeit, NGINX zu kompilieren und zu installieren. Dies ist ein zweistufiger Prozess:
Zuerst die make
Der Befehl kompiliert den NGINX-Quellcode unter Verwendung der in der ./configure
Skript. Dadurch wird die ausführbare NGINX-Binärdatei erstellt:
make
Zweitens, die sudo make install
Der Befehl installiert die NGINX-Binärdatei, Konfigurationsdateien und andere Dateien in dem Präfixpfad, der im ./configure
Skript:
sudo make install
Nach der Installation befindet sich NGINX im sbin
Verzeichnis des Präfixpfads.
Schritt 7: NGINX Systemd-Dienst erstellen
Nachdem Sie NGINX aus der Quelle erstellt und kompiliert haben, ist es wichtig, einen systemd-Prozess zur Verwaltung des NGINX-Dienstes auf Ihrem System zu erstellen. So geht's:
Erstellen Sie eine neue systemd-Servicedatei:
sudo nano /etc/systemd/system/nginx.service
Fügen Sie der Datei den folgenden Inhalt hinzu:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Laden Sie den systemd-Daemon neu:
sudo systemctl daemon-reload
Starten Sie den NGINX-Dienst:
sudo systemctl start nginx
Aktivieren Sie den automatischen Start des NGINX-Dienstes beim Booten:
sudo systemctl enable nginx
Stellen Sie abschließend sicher, dass der Dienst aktiviert ist:
systemctl status nginx
Schritt 8: Testen Sie NGINX
Um zu überprüfen, ob NGINX ordnungsgemäß ausgeführt wird, öffnen Sie einen Webbrowser und navigieren Sie mit der IP-Adresse Ihres lokalen Hosts oder Servers zur Testseite:
http://localhost
Oder ersetzen localhost
durch die IP-Adresse Ihres Servers.
Zusätzliche Befehle und Tipps
NGINX mit zusätzlichen Modulen kompilieren
Sie können die Funktionalität von NGINX erweitern, indem Sie es mit zusätzlichen Modulen kompilieren. Um beispielsweise das Nginx HTTP-Push-Modul zu verwenden, verwenden Sie während der Konfiguration von NGINX das Flag –add-module:
./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install
Abschluss
Wenn Sie diese Schritte befolgen, können Sie NGINX erfolgreich aus dem Quellcode auf Ihrem Debian-System erstellen und installieren. Dieser Ansatz bietet Ihnen mehr Flexibilität und Kontrolle über Ihre NGINX-Installation und ermöglicht es Ihnen, sie an Ihre spezifischen Anforderungen anzupassen. Suchen Sie regelmäßig nach Updates und kompilieren Sie bei Bedarf neu, um Sicherheit und Leistung aufrechtzuerhalten. Profitieren Sie von den erweiterten Funktionen und Anpassungsoptionen, die Ihnen das Erstellen von NGINX aus dem Quellcode bietet.