Open-Source-Projekt
nginx/nginx avatar
nginx/nginx

NGINX: Das nginx Open-Source-Repository: Module, Binärdateien und Quellcode-Builds

NGINX ist die Quelle für den Webserver und Reverse-Proxy, der zum Bereitstellen, Weiterleiten und Ausgleichen von Anwendungen mit hohem Datenverkehr verwendet wird.

31.647 Sterne8.301 ForksCBSD-2-Clause

Auf einen Blick

Was ist das?
Ein deutschsprachiger Faktencheck zu NGINX, seinen README-Einstiegspunkten, Konfigurationsstellen und praktischen Grenzen.
Für wen ist es gedacht?
NGINX passt zu Teams und Einzelpersonen, deren Arbeitsablauf genau auf die dokumentierten Eingaben, Ausgaben und Plattformen zugeschnitten ist. Nicht geeignet ist es für Erwartungen, die das README nicht belegt.
Darf ich es kommerziell nutzen?
Ja. BSD-2-Clause ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
In welcher Sprache ist es geschrieben?
Hauptsächlich C, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Die von NGINX genannten Rollen und der Umfang des Repositorys

Das README beginnt mit der Beschreibung von NGINX als dem weltweit beliebtesten Webserver, Hochleistungs-Lastverteiler, Reverse-Proxy, API-Gateway und Content-Cache. Es stellt außerdem fest, dass NGINX freie Open-Source-Software ist, die unter einer vereinfachten 2-Klausel-BSD-ähnlichen Lizenz vertrieben wird. Das README sagt ausdrücklich, dass sein Ziel darin besteht, eine grundlegende, strukturierte Einführung für Anfänger zu bieten, und verweist auf die vollständige Dokumentation unter nginx.org für Installation, Build, Konfiguration, Debugging, einen Anfängerleitfaden, Anleitungen, einen Entwicklungsleitfaden sowie ein Modul- und Direktiven-Referenz. Das Repository ist das offizielle NGINX-Open-Source-Repository, geschrieben in C, mit einem Standard-Branch namens master.

Bei NGINX ist dieser Abschnitt mit dem konkreten Prüfpunkt nginx.conf verbunden. Für eine erste lokale Prüfung eignet sich nginx -V; dabei sollte genau beobachtet werden, ob die im README beschriebene Ausgabe und der erwartete Dateipfad zusammenpassen. Das README belegt keine weitergehenden Leistungswerte, daher bleiben Durchsatz, Ressourcenbedarf und Verhalten unter eigener Last offene Fragen. Die Entscheidung sollte an diesem Projektmerkmal hängen und nicht an einer allgemeinen Versprechensliste.

Module, Konfigurationsdateien und die Master-Worker-Laufzeit

Das README erklärt, dass NGINX aus einzelnen Modulen besteht, die die Kernfunktionalität erweitern. Module können als statisch oder dynamisch gebaut und verteilt werden; statische Module werden zur Build-Zeit definiert, während dynamische Module später hinzugefügt werden können. Die Konfiguration ist textbasiert und verwendet Direktiven, wobei die verfügbaren Direktiven davon abhängen, welche Module vorhanden sind. Zur Laufzeit verwendet NGINX einen Master-Prozess, der Worker-Prozesse verwaltet und Konfigurationsdateien liest, sowie einen oder mehrere Worker-Prozesse, die Daten wie HTTP-Anfragen verarbeiten. Die Anzahl der Worker-Prozesse kann fest eingestellt oder automatisch an verfügbare CPU-Kerne angepasst werden. Prozesse synchronisieren Daten über gemeinsamen Speicher, weshalb Direktiven wie Ratenbegrenzung gemeinsame Speicherzonen benötigen, um Clients zu verfolgen.

Vorkompilierte Binärdateien: stable, mainline und dynamische Module

Es werden zwei Binärversionen angeboten: stable und mainline. Stable-Binärdateien stammen aus stabilen Branches und enthalten nur kritische Fixes, die von mainline zurückportiert wurden, während mainline-Binärdateien aus dem master-Branch mit den neuesten Funktionen und Fehlerbehebungen erstellt werden. Für Linux basiert die Installation auf nativen Paketmanagern; erstmalige Benutzer müssen das offizielle NGINX-Paket-Repository hinzufügen. Upgrades verwenden denselben Paketmanager. Die FreeBSD-Installation ist extern dokumentiert. Windows-Ausführungsdateien sind verfügbar, werden jedoch als Proof-of-Concept beschrieben und sind nur für Entwicklung und Tests gedacht. Dynamische Module wurden in Version 1.9.11 hinzugefügt, sodass Benutzer Module herunterladen und installieren können, nachdem die Kern-Binärdatei gebaut wurde; offizielle dynamische Modul-Binärdateien stammen aus demselben Paket-Repository. Das README erwähnt njs, ein dynamisches Modul, das NGINX mit JavaScript erweitert.

Verweise für häufige Aufgaben: TLS, Lastverteilung, Ratenbegrenzung, Caching

Das README enthält keine Konfigurationsbeispiele für bestimmte Anwendungsfälle, sondern verlinkt auf externe Ressourcen. Für SSL-Zertifikate und TLS-Verschlüsselung verweist es auf die Dokumentation „Configuring HTTPS servers". Für Lastverteilung verlinkt es auf „Using nginx as HTTP load balancer". Ratenbegrenzung wird in einem Blog-Beitrag behandelt, Content-Caching in einem Leitfaden zum Caching mit NGINX und NGINX Plus. Das README verweist auch auf einen Anfängerleitfaden. Es stellt fest, dass der Satz verfügbarer Direktiven davon abhängt, welche Module aktiviert sind, sodass jede spezifische Konfiguration gegen den tatsächlich installierten Modulsatz verifiziert werden muss.

Aus dem Quellcode bauen: Abhängigkeiten, configure, make und Installation

Das Bauen aus dem Quellcode erfordert Abhängigkeiten: Auf Debian/Ubuntu weist das README an, gcc, make, libpcre3-dev und zlib1g-dev über apt zu installieren, bei Bedarf zusätzlich libssl-dev für TLS. Nach dem Klonen des Repositorys führen Sie auto/configure aus dem Quellverzeichnis aus, um ein Makefile zu erzeugen; ohne Flags entsteht der Standard-Build. Dann führen Sie make aus; die Binärdatei wird unter objs/nginx erzeugt. Zum Installieren führen Sie sudo make install aus, das die Binärdatei in /usr/local/nginx/ ablegt. Die installierte Binärdatei wird mit sudo /usr/local/nginx/sbin/nginx ausgeführt, und ein Test mit curl localhost sollte eine Willkommensseite zurückgeben, die mit dem im README gezeigten HTML beginnt.

Hilfe, Beiträge und die BSD-ähnliche Lizenz

Das README verweist auf SUPPORT.md für Diskussionen über die Codebasis, Fehlerbehebung und Problemberichte sowie auf CONTRIBUTING.md für Codebeiträge. Das Änderungsprotokoll ist unter nginx.org verfügbar. Die Lizenz ist eine 2-Klausel-BSD-ähnliche Lizenz; der Auszug im Repository hält das Urheberrecht von Igor Sysoev und Nginx, Inc. Sie erlaubt die Weiterverbreitung in Quell- und Binärform mit Bedingungen zur Beibehaltung von Urheberrechtshinweisen und Haftungsausschlüssen und lehnt alle Gewährleistungen und Haftung ab. Der Lizenztext erwähnt keine Sicherheitsgarantien, Support oder Wartungszusagen.

Redaktionelles Fazit

NGINX passt zu Teams und Einzelpersonen, deren Arbeitsablauf genau auf die dokumentierten Eingaben, Ausgaben und Plattformen zugeschnitten ist. Nicht geeignet ist es für Erwartungen, die das README nicht belegt. Prüfe zuerst nginx -V, kontrolliere nginx.conf und entscheide anhand des tatsächlichen Ergebnisses, der Abhängigkeiten und der Wartung im eigenen Umfeld.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen