server delle applicazioni , nell'ambito del quale si sviluppa una soluzione per l'esecuzione di applicazioni web in vari linguaggi di programmazione (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js e Java). Sotto la gestione di NGINX Unit possono essere eseguite contemporaneamente più applicazioni in diversi linguaggi di programmazione, i cui parametri di avvio possono essere modificati dinamicamente senza la necessità di modificare i file di configurazione e riavviare. Il codice è scritto in linguaggio C e sotto la licenza Apache 2.0. È possibile familiarizzare con le caratteristiche di NGINX Unit nel del primo rilascio.
Nella nuova versione:
- È stata aggiunta la possibilità di instradare le richieste in base agli indirizzi e ai numeri delle porte di origine e di destinazione.
- È stata aggiunta la supporto per il cambio di utente e gruppo per le applicazioni isolate, nelle situazioni in cui il processo in background dell'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/gò» (per installare il modulo per Unit puoi usare il comando «go get unit.nginx.org/gò»).
- Durante la costruzione i pacchetti in Go ora si collegano con libunit.
- Ridotto il consumo di memoria durante l'elaborazione di risposte molto grandi.
- Aggiornato un ambiente per il sistema Docker, che consente di distribuire rapidamente una soluzione basata su NGINX Unit. Il contenuto dell'immagine è stato migrato 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».
Contemporaneamente si può notare la correzione del ramo principale , nel quale continua lo sviluppo di nuove funzionalità (nel ramo stabile 1.16 supportato parallelamente vengono apportate solo modifiche legate alla correzione di errori gravi e vulnerabilità). Nella nuova versione sono state proposte solo correzioni di errori. Ad esempio, sono stati risolti i crash che si verificavano utilizzando sostituzioni vuote nella direttiva «rewrite» e utilizzando la direttiva «break» insieme alle direttive «alias» o «proxy_pass» con URI. È stata anche risolta l'errata compilazione dell'intestazione «Location» in presenza di caratteri con codice nullo nelle regole di trasformazione dell'indirizzo. Nel gestore HTTP/2 è stata rimossa una perdita di socket di rete. È stato corretto un errore che portava all'interruzione della connessione SSL per timeout durante l'elaborazione di richieste pipelined.
Fonte: opennet.ru
