O Que é NGINX e Como Funciona?

NGINX, pronunciado “engine-ex,” é um famoso software de código aberto para servidores web lançado originalmente para navegação HTTP. Hoje, porém, ele também funciona como proxy reverso, balanceador de carga HTTP, e proxy de email para os protocolos IMAP, POP3, e SMTP.

O NGINX foi lançado em Outubro de 2004. O criador do software, Igor Sysoev, começou o projeto em 2002 como uma resposta ao problema C10k. O C10k é o desafio de gerenciar 10 mil conexões ao mesmo tempo. Hoje em dia há ainda mais conexões que um servidor gerencia. Por este motivo o NGINX oferece uma arquitetura orientada a eventos e assíncrona, o que o torna um dos servidores mais confiáveis em questão de velocidade e escalabilidade.

Devido a sua habilidade de suportar muitas conexões com alta velocidade, muitos sites de alto tráfego tem utilizado o NGINX. Alguns dos gigantes são Google, Netflix, Adobe, Cloudflare, WordPress.com, e muitos outros.

Como o NGINX Funciona?

Agora que sabemos o que é NGINX, vamos aprender como funciona. Mas antes de mergulharmos fundo no NGINX em si precisamos aprender como um servidor web opera. Sempre que um usuário faz uma solicitação de carregamento de página o navegador entra em contato com o servidor do site. Então o servidor busca pelos arquivos solicitados e os entrega ao navegador. Esse é o tipo de solicitação mais simples.

O exemplo acima é considerado uma thread individual. Servidores web tradicionais criam uma thread individual para cada solicitação, mas o NGINX não funciona assim. Como mencionado antes, NGINX performa com uma arquitetura assíncrona e orientada a eventos. Isso significa que threads similares são gerenciadas por um processo worker, e cada processo worker contém unidades menores chamadas conexões worker. Esta unidade inteira então é responsável para cuidar das solicitações de threads. Conexões worker levam as solicitações até um processo worker, que por sua vez as envia para o processo master. Finalmente o processo master fornece o resultado da solicitação.

Isso pode parecer simples, mas uma única conexão worker pode cuidar de até 1024 solicitações similares. Por isso o NGINX consegue atender milhares de solicitações sem dificuldades. Também é o motivo de o NGINX ter se tornado uma excelente opção para websites com muito movimento como e-commerces, mecanismos de busca e armazenamento cloud.

NGINX vs Apache

Dentre os servidores web mais populares o Apache é um dos principais rivais do NGINX. Ele existe desde a década de 90 e possui uma grande comunidade de usuários. Se você está em dúvida sobre qual é o melhor servidor para seu projeto, preparamos um breve informativo comparando o NGINX com o Apache.

  • Compatibilidade de SO
    Compatibilidade é um dos detalhes que devem ser levados em consideração ao escolher um servidor. Tanto o NGINX quanto Apache conseguem operar em muitos sistemas operacionais que suportam o sistema UNIX. Infelizmente a performance do NGINX no Windows não é tão boa como em outras plataformas.
  • Suporte ao Usuário
    Usuários, desde iniciantes até profissionais, sempre precisam de uma comunidade para ajudar quando um problema surgir. Enquanto que ambos NGINX e Apache possuem suporte via email e um fórum no Stack Overflow, o Apache deixa a desejar no suporte vindo da própria empresa, a Apache Foundation.
  • Performance
    NGINX consegue executar 1000 conexões de conteúdo estático simultaneamente com o dobro de velocidade do Apache utilizando menos memória. Em relação à execução de conteúdos dinâmicos ambos possuem a mesma velocidade. NGINX é uma melhor opção para quem possui um site mais estático.

Dica

Servidores VPS com datacenters no Brasil é na Hostinger. Aproveite para ter um projeto robusto e com recursos de sobra!

Conclusão

NGINX é um servidor web que também funciona como proxy de email, proxy reverso, e balanceador de carga. A estrutura do software é assíncrona e orientada a eventos; possibilitando o processamento de muitas solicitações ao mesmo tempo. O NGINX também é altamente escalável, significando que seu serviço cresce com o aumento de tráfego do usuário. NGINX e Apache são sem dúvidas dois dos melhores servidores web do mercado.

Author
O autor

Andrei L.

Jornalista e conteudista SEO/Localização na Hostinger Brasil. Tem experiência em WordPress e na produção de conteúdos de tecnologia otimizados para conquistar as melhores posições no Google. É fã de games, adora vôlei, ama o inverno e está sempre buscando se aperfeiçoar no Inglês.