sortie du serveur d'applications , dans le cadre duquel se développe une solution pour le lancement d'applications web dans divers langages de programmation (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js et Java). Sous la gestion de NGINX Unit, il est possible d'exécuter simultanément plusieurs applications dans différentes langages de programmation, dont les paramètres de lancement peuvent être modifiés dynamiquement sans avoir besoin de modifier les fichiers de configuration ou de redémarrer. Le code est écrit en langage C et sous licence Apache 2.0. Vous pouvez découvrir les particularités de NGINX Unit dans de la première version.
Dans la nouvelle version :
- prise en charge de la répartition de la charge en mode round-robin. Par exemple, pour répartir la charge entre deux serveurs 192.168.0.100 et 192.168.0.101 avec des requêtes dirigées vers le deuxième deux fois plus, la construction suivante peut être utilisée :
"upstreams": {
"rr-lb": {
"servers": {
"192.168.0.100:8080": { },
"192.168.0.101:8080": { "weight": 2 }
}
}
} - possibilité de définir des règles de routage de requêtes flexibles, similaires à la fonctionnalité "" dans nginx. Un chemin alternatif est défini à l'aide de la directive "fallback", qui est activée si le fichier demandé n'est pas trouvé dans le chemin défini par la directive "share". Par exemple, pour appeler un gestionnaire PHP en cas d'absence de fichier dans le dossier /data/www/, vous pouvez spécifier :
{
"share": "/data/www/",
"fallback": {
"pass": "applications/php"
}
}L'utilisation de blocs "fallback" imbriqués est autorisée. Par exemple, si le fichier n'est pas trouvé dans /data/www/, vous pouvez tenter de le fournir depuis /data/cache/, et si ce n'est pas le cas, rediriger la requête vers un autre backend :
{
"share": "/data/www/","fallback": {
"share": "/data/cache/","fallback": {
"proxy": "http://127.0.0.1:9000"
}
}
} - Les paramètres de configuration chargés au format JSON garantissent la suppression des commentaires au style JavaScript ("//…" et "/* ... */") et le nettoyage des marqueurs d'ordre des octets (), ce qui peut être utile lors de la modification manuelle des paramètres dans JSON.
- La consommation de mémoire a été réduite grâce à la décharge du corps des requêtes très volumineuses sur disque.
Source : opennet.ru
