Veröffentlichung des Anwendungsservers , im Rahmen dessen eine Lösung für den Betrieb von Webanwendungen in verschiedenen Programmiersprachen (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js und Java) entwickelt wird. Unter der Verwaltung von NGINX Unit können gleichzeitig mehrere Anwendungen in verschiedenen Programmiersprachen ausgeführt werden, deren Startparameter dynamisch geändert werden können, ohne die Konfigurationsdateien bearbeiten oder neu starten zu müssen. Der Code ist in C geschrieben und unter der Lizenz Apache 2.0. Mit den Besonderheiten von NGINX Unit können Sie sich vertraut machen in der ersten Veröffentlichung.
In der neuen Version:
- Unterstützung für Load Balancing im Round-Robin-Modus. Zum Beispiel, um die Last auf zwei Server 192.168.0.100 und 192.168.0.101 zu verteilen, wobei der zweite Server doppelt so viele Anfragen erhält, kann die folgende Struktur verwendet werden:
«upstreams»: {
«rr-lb»: {
«servers»: {
«192.168.0.100:8080»: { },
«192.168.0.101:8080»: { «weight»: 2 }
}
}
} - die Möglichkeit, flexible Routing-Regeln zu definieren, ähnlich der Funktionalität von «» in nginx. Eine zusätzliche Route wird über die Direktive «fallback» definiert, die aktiviert wird, wenn die angeforderte Datei im über die Direktive «share» definierten Pfad nicht gefunden wird. Zum Beispiel, um einen PHP-Handler aufzurufen, falls die Datei im Verzeichnis /data/www/ fehlt, kann folgendes angegeben werden:
{
«share»: «/data/www/»,
«fallback»: {
«pass»: «applications/php»
}
}Die Verwendung von verschachtelten «fallback»-Blöcken ist erlaubt. Zum Beispiel, wenn die Datei nicht in /data/www/ vorhanden ist, kann versucht werden, sie aus /data/cache/ bereitzustellen, und wenn auch dort nicht vorhanden, die Anfrage an einen anderen Backend weiterzuleiten:
{
«share»: «/data/www/»,«fallback»: {
«share»: «/data/cache/»,«fallback»: {
«proxy»: «http://127.0.0.1:9000»
}
}
} - In den in JSON geladenen Konfigurationseinstellungen wird das Entfernen von Kommentaren im JavaScript-Stil («//…» und «/* … */») und das Bereinigen von Byte-Order-Markern (), was beim manuellen Bearbeiten von Parametern in JSON nützlich sein kann.
- Der Speicherverbrauch wurde durch das Auslagern des Körpers sehr großer Anfragen auf die Festplatte reduziert.
Quelle: opennet.ru
