server di applicazioni , nell'ambito del quale si sviluppa una soluzione per l'esecuzione di web-app in vari linguaggi di programmazione (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js e Java). Sotto la gestione di NGINX Unit, possono essere eseguite più applicazioni in diversi linguaggi di programmazione simultaneamente, con parametri di avvio che possono essere modificati dinamicamente senza necessità di modificare i file di configurazione e di riavviare. Il codice è scritto in C e sotto licenza Apache 2.0. Le caratteristiche di NGINX Unit possono essere esplorate in del primo rilascio.
Nella nuova versione:
- È stata aggiunta la possibilità di instradare le richieste in base agli indirizzi e ai numeri di porta di origine e destinazione.
- Aggiunta la supporto per cambiare utente e gruppo per le applicazioni isolate, quando il processo in background di Unit viene eseguito con i diritti di un utente non privilegiato.
- Il nome per l'importazione dei pacchetti in Go è stato cambiato in «unit.nginx.org/go» (per installare il modulo per Unit, si può usare il comando «go get unit.nginx.org/go»).
- Durante la compilazione, i pacchetti in Go ora si collegano a libunit.
- Ridotto il consumo di memoria durante l'elaborazione di risposte molto grandi.
- Aggiornato Ambienti per il sistema Docker che consentono di implementare rapidamente una soluzione basata su NGINX Unit. La base dell'immagine è stata aggiornata da Debian 9 a Debian 10;
- Nel repository per CentOS e RHEL 7 sono stati aggiunti pacchetti con moduli per
Python 3.6. Per Amazon Linux 2 LTS sono stati aggiunti pacchetti con Python 3.7. I pacchetti per Python 2.7 sono stati rinominati da «unit-python» a «unit-python27».
È possibile notare simultaneamente la correzione del ramo principale , nell'ambito del quale continuano a svilupparsi nuove funzionalità (nella stabile versione 1.16, vengono apportate solo modifiche per risolvere errori gravi e vulnerabilità). Nella nuova versione sono state proposte solo correzioni di errori. Ad esempio, sono stati risolti i crash che si manifestavano all'uso di una sostituzione vuota nella direttiva «rewrite» e all'uso della direttiva «break» insieme a «alias» o «proxy_pass» con URI. È stato inoltre corretto il riempimento errato dell'intestazione «Location» quando nelle regole di riscrittura si trovano caratteri a codice zero. Nell'elaboratore HTTP/2 è stata risolta una fuga di socket di rete. È stato corretto un errore che causava l'interruzione della connessione SSL per timeout durante l'elaborazione delle richieste in pipeline.
Fonte: opennet.ru
