il rilascio del server 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:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ «» Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»Ρ ΡΠΌΠ΅Π½Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΡΠ½Ρ Π€Π‘ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ² pivot_root(), ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° chroot() Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΡΠ΅Π½Ρ Π€Π‘, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΠΎΠΉ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ
. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΈΠΌΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Unit ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅Ρ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π€Π‘ Π²ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠ·ΡΠΊΠΎΠ²).
{
Β«typeΒ»: Β«python 2.7Β»,
Β«pathΒ»: Β«/Β»,
Β«homeΒ»: Β«/venv/Β»,
Β«moduleΒ»: Β«wsgiΒ»,
Β«isolationΒ»: {
Β«rootfsΒ»: Β«/var/app/sandbox/Β»
}
} - ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡ
Π΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ ««. Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΡ
ΡΡ
Π΅ΠΌ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· index.php Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ URI, Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π²ΡΠ·ΠΎΠ²Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ². Π Π°Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π²ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ:
{
Β«wp_indexΒ»: {
Β«typeΒ»: Β«phpΒ»,
Β«userΒ»: Β«wp_userΒ»,
Β«groupΒ»: Β«wp_userΒ»,
Β«rootΒ»: Β«/path/to/wordpress/Β»,
Β«scriptΒ»: Β«index.phpΒ»
},Β«wp_directΒ»: {
Β«typeΒ»: Β«phpΒ»,
Β«userΒ»: Β«wp_userΒ»,
Β«groupΒ»: Β«wp_userΒ»,
Β«rootΒ»: Β«/path/to/wordpress/Β»
}
}puΓ² essere specificato
{
Β«wpΒ»: {
Β«typeΒ»: Β«phpΒ»,
Β«userΒ»: Β«wp_userΒ»,
Β«groupΒ»: Β«wp_userΒ»,Β«targetsΒ»: {
Β«indexΒ»: {
Β«rootΒ»: Β«/path/to/wordpress/Β»,
Β«scriptΒ»: Β«index.phpΒ»
},Β«directΒ»: {
Β«rootΒ»: Β«/path/to/wordpress/Β»
}
}
}
} - Aggiunto supporto per ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ΅ Β«%xxΒ» Π² ΠΎΠΏΡΠΈΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«uriΒ» ΠΈ Β«argumentsΒ», Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΎΠΏΡΠΈΠΈ Β«passΒ».
Fonte: opennet.ru
