12 Punkte von GN⁺ 2023-09-11 | 3 Kommentare | Auf WhatsApp teilen
  • Einsetzbar als Reverse Proxy, zum Ausliefern statischer Assets und zum Ausführen von Web-Apps
  • Kann Anwendungscode in verschiedenen Sprachen ausführen: Go, Java, Node.js, Perl, PHP, Python, Ruby, WebAssembly
  • Verdichtet mehrere Schichten moderner Application-Stacks mit Fokus auf Performance, Latenz und Skalierbarkeit in einer einzigen Lösung
  • Für die Unterstützung jeder Web-Architektur unabhängig von ihrer Komplexität konzipiert, von Großunternehmen bis zur persönlichen Homepage
  • Unterstützt stabiles Skalieren auch unter produktionsreifer Last
  • Ermöglicht dynamische Konfigurations-Updates ohne Unterbrechung über eine RESTful-JSON-API (OpenAPI-Spezifikation vorhanden)
  • Die Architektur von NGINX Unit ist asynchron und multithreaded und besteht aus mehreren Prozessen, um die Nutzung moderner Computing-Plattformen zu maximieren und gleichzeitig Sicherheit und Robustheit zu gewährleisten
  • Bietet schnelle Installationsoptionen für macOS, Docker, Amazon Linux, Fedora, RedHat, Debian und Ubuntu

3 Kommentare

 
GN⁺ 2023-09-11
Hacker-News-Kommentare
  • Es wird berichtet, dass Nginx Unit in Kombination mit PHP die Kombination aus Nginx und php-fpm übertrifft.
  • Wenn PHP in einer Docker-Umgebung über Nginx Unit ausgeführt wird, sind keine separaten Container mehr für http und fpm nötig, wodurch es Apaches mod_php ähnlicher wird.
  • Nginx Unit unterstützt eine Vielzahl von Sprachen, darunter binär kompilierte Sprachen, Go, JavaScript (Node.js), Java, Perl, PHP, Python, Ruby und WebAssembly.
  • Einige Nutzer stellen die starke Betonung der Konfiguration per API infrage und bevorzugen es, den App-Server über Dateien zu konfigurieren, um einen vorhersehbaren Ausgangszustand zu erhalten.
  • Nginx Unit ermöglicht es, php-fpm aus dem Stack zu entfernen, was beim Packen von PHP-Apps in Container nützlich ist.
  • Nutzer berichten von deutlichen Geschwindigkeitsverbesserungen, wenn sie komplexe PHP-Laravel-Apps mit Nginx Unit testen.
  • Nginx Unit ermöglicht es, mehrere Apps auszuführen, die jeweils unterschiedliche Sprach-Runtimes/-Versionen verwenden, ohne dass dafür separate Docker-Container nötig sind.
  • Einige Nutzer schlagen vor, dass Nginx eine Seite bereitstellen sollte, die erklärt, wie sich Nginx Unit von Nginx unterscheidet und warum es ein separates Produkt sein sollte.
  • Die Konfigurationsoberfläche von Nginx Unit ist stark von JSON abhängig, was einige Nutzer als umständlich empfinden.
  • Trotz des Labels „Universal“ unterstützt Nginx Unit weder C++, Rust noch ASP.NET, dafür aber Perl.
  • Einige Nutzer fragen sich weiterhin, welche Vorteile Nginx Unit gegenüber dem Standard-Nginx bietet, und stellen die JSON-Steuerung per curl sowie die eingebaute Sprachunterstützung infrage.
  • Nginx Unit enthält keine automatische TLS-Zertifikatsverwaltung; dies wird weiterhin manuell mit Certbot erledigt.
 
xguru 2023-09-11
  • Wenn Nginx Unit zusammen mit PHP verwendet wird, übertrifft es die Kombination aus Nginx und php-fpm
  • Wird PHP in einer Docker-Umgebung über Nginx Unit ausgeführt, sind keine separaten Container mehr für http und fpm nötig, wodurch es mod_php von Apache ähnlicher wird

Diese beiden Punkte finde ich interessant.

 
galadbran 2023-09-11

Diese Vorgehensweise passte auch besser zu der im Joker-Container empfohlenen Praxis, pro Container nur einen Service zu betreiben, deshalb hatte ich es ausprobiert. Ich habe es jedoch aufgegeben, weil es die Einschränkung gab, dass sich innerhalb einer App ein Routing-Ansatz wie bei Laravel und das einfache Ausliefern von PHP-Dateien nicht gemeinsam nutzen ließen.
Außerdem hatte ich grundsätzlich den Eindruck, dass die Lernkurve steil ist.