12 pontos por GN⁺ 2023-09-11 | 3 comentários | Compartilhar no WhatsApp
  • Usado como proxy reverso, para servir assets estáticos e para executar aplicações web
  • Pode executar código de aplicações em várias linguagens: Go, Java, Node.js, Perl, PHP, Python, Ruby, WebAssembly
  • Consolida várias camadas da stack moderna de aplicações em uma única solução, com foco em desempenho, latência e escalabilidade
  • Projetado para oferecer suporte a qualquer arquitetura web, independentemente da complexidade, atendendo desde grandes empresas até páginas pessoais
  • Oferece escalabilidade estável mesmo sob cargas de nível de produção
  • Permite atualizações dinâmicas de configuração sem interrupção por meio de uma API JSON RESTful (com especificação OpenAPI)
  • A arquitetura do NGINX Unit é assíncrona e multithread, composta por vários processos para maximizar o uso das plataformas modernas de computação, ao mesmo tempo em que garante segurança e robustez
  • Oferece opções rápidas de instalação para macOS, Docker, Amazon Linux, Fedora, RedHat, Debian e Ubuntu

3 comentários

 
GN⁺ 2023-09-11
Opiniões no Hacker News
  • Há relatos de que, quando usado com PHP, o Nginx Unit supera a combinação de Nginx com php-fpm.
  • Ao executar PHP via Nginx Unit em um ambiente Docker, não são mais necessários contêineres separados para HTTP e FPM, tornando-o semelhante ao mod_php do Apache.
  • O Nginx Unit oferece suporte a várias linguagens, incluindo linguagens compiladas em binário, Go, JavaScript (Node.js), Java, Perl, PHP, Python, Ruby e WebAssembly.
  • Alguns usuários questionam a ênfase na configuração via API e preferem configurar o servidor de aplicações por arquivos para ter um estado inicial previsível.
  • O Nginx Unit permite remover o php-fpm da stack, o que é útil ao colocar aplicações PHP em contêineres.
  • Usuários relatam ganhos de velocidade significativos ao testar aplicações PHP Laravel complexas com o Nginx Unit.
  • O Nginx Unit permite executar vários aplicativos, cada um usando runtimes/versões de linguagem diferentes, sem exigir contêineres Docker separados.
  • Alguns usuários sugerem que a Nginx deveria disponibilizar uma página explicando como o Nginx Unit difere do Nginx e por que ele precisa ser um produto separado.
  • A interface de configuração do Nginx Unit depende bastante de JSON, o que alguns usuários consideram incômodo.
  • Apesar do rótulo "Universal", o Nginx Unit não oferece suporte a C++, Rust ou ASP.NET, mas oferece suporte a Perl.
  • Alguns usuários ainda questionam quais vantagens o Nginx Unit tem sobre o Nginx padrão, bem como o controle por JSON via curl e o suporte embutido a linguagens.
  • O Nginx Unit não inclui certificados TLS automáticos; isso ainda é feito manualmente com Certbot.
 
xguru 2023-09-11
  • Quando usado com PHP, o Nginx Unit supera a combinação de Nginx com php-fpm
  • Ao executar PHP por meio do Nginx Unit em um ambiente Docker, não são mais necessários contêineres separados para http e fpm, ficando semelhante ao mod_php do Apache

Esses dois pontos são interessantes.

 
galadbran 2023-09-11

Como essa abordagem também combinava melhor com a recomendação do Joker Container de ter um único serviço por contêiner, eu já tinha tentado usá-la, mas acabei desistindo porque havia a limitação de não ser possível, dentro de um mesmo app, usar ao mesmo tempo um app com roteamento como o Laravel e o simples serving de arquivos PHP.

No geral, também senti que a curva de aprendizado era íngreme.