12 points par GN⁺ 2023-09-11 | 3 commentaires | Partager sur WhatsApp
  • Utilisable comme reverse proxy, pour servir des assets statiques ou pour exécuter des applications web
  • Peut exécuter du code applicatif dans de nombreux langages : Go, Java, Node.js, Perl, PHP, Python, Ruby, WebAssembly
  • Regroupe plusieurs couches des stacks applicatives modernes en une solution unique, avec un focus sur les performances, la latence et la scalabilité
  • Conçu pour prendre en charge toutes les architectures web, quelle que soit leur complexité, des grandes entreprises aux sites personnels
  • Assure une montée en charge stable même sous des charges de niveau production
  • Permet des mises à jour dynamiques de la configuration sans interruption via une API JSON RESTful (spécification OpenAPI fournie)
  • L’architecture de NGINX Unit est asynchrone et multithread, et se compose de plusieurs processus afin de maximiser l’utilisation des plateformes de calcul modernes tout en garantissant sécurité et robustesse
  • Propose des options d’installation rapide pour macOS, Docker, Amazon Linux, Fedora, RedHat, Debian et Ubuntu

3 commentaires

 
GN⁺ 2023-09-11
Avis Hacker News
  • Selon certains retours, Nginx Unit surpasse la combinaison Nginx + php-fpm lorsqu’il est utilisé avec PHP.
  • Exécuter PHP via Nginx Unit dans un environnement Docker élimine le besoin de conteneurs séparés pour http et fpm, ce qui le rapproche de mod_php d’Apache.
  • Nginx Unit prend en charge de nombreux langages, dont les langages compilés en binaire, Go, JavaScript (Node.js), Java, Perl, PHP, Python, Ruby et WebAssembly.
  • Certains utilisateurs s’interrogent sur l’accent mis sur la configuration via API et préfèrent configurer le serveur d’applications par fichier afin d’obtenir un état de démarrage prévisible.
  • Nginx Unit permet de retirer php-fpm de la pile, ce qui est utile lors du déploiement d’applications PHP en conteneur.
  • Des utilisateurs indiquent avoir constaté des gains de vitesse importants en testant des applications PHP Laravel complexes avec Nginx Unit.
  • Nginx Unit permet d’exécuter plusieurs applications utilisant chacune des runtimes ou versions de langage différents, sans nécessiter de conteneurs Docker séparés.
  • Certains suggèrent que Nginx devrait proposer une page expliquant en quoi Nginx Unit diffère de Nginx et pourquoi il doit exister séparément.
  • L’interface de configuration de Nginx Unit repose fortement sur JSON, ce que certains utilisateurs trouvent contraignant.
  • Malgré le label « Universal », Nginx Unit ne prend pas en charge C++, Rust ni ASP.NET, mais prend en charge Perl.
  • Certains utilisateurs continuent de se demander quels avantages Nginx Unit offre par rapport à Nginx standard, ainsi que l’intérêt du contrôle JSON via curl et de la prise en charge intégrée des langages.
  • Nginx Unit n’inclut pas de certificats TLS automatiques ; cela doit toujours être fait manuellement avec Certbot.
 
xguru 2023-09-11
  • Lorsqu’il est utilisé avec PHP, Nginx Unit surpasse la combinaison de Nginx et php-fpm
  • Dans un environnement Docker, exécuter PHP via Nginx Unit supprime le besoin de conteneurs séparés pour http et fpm, ce qui le rapproche d’mod_php d’Apache

Ces deux points sont intéressants.

 
galadbran 2023-09-11

Cette approche correspondait aussi davantage à la recommandation d’un service par conteneur dans Joker Container, donc je l’avais essayée, mais je l’ai finalement abandonnée à cause de la contrainte qu’au sein d’une même application, il n’était pas possible de faire cohabiter une appli avec un routage de type Laravel et un simple service de fichiers PHP.
Globalement, j’avais aussi l’impression que la courbe d’apprentissage était raide.