fbpx

O que é NGINX ?

O NGINX nada mais é do que um servidor web ( web server ) de código aberto e que nos possibilita implementar ambientes de alta performance para entrega de conteúdo estático de um site ou aplicação. Atualmente possui recursos incríveis como: proxy reverso, balanceamento de carga, streaming e é um dos poucos softwares capazes de processar e gerenciar milhares de acessos simultâneos.

Segundo a W3Techs, o NGINX é o 2º web server mais utilizado em todos os servidores do mundo! Perdendo apenas para o famoso Apache. Apesar que isso não significa que o Apache é melhor, pois não possui o mesmo poder de performance e vantagens que o NGINX possui. Fato!

Fonte:  https://w3techs.com/technologies/comparison/ws-apache,ws-microsoftiis,ws-nginx

Quando pensamos ou falamos atualmente em projetos de alto tráfego, principalmente para hospedagem de sites e e-commerce, falamos em NGINX. Muitas empresas grandes utilizam esse poderoso servidor, como: Linkedin, IBM, Adobe, Facebook, Twitter, WordPress, entre outros.

Fonte: https://stack.g2.com/company/nginx

Afinal, como o NGINX trabalha ?

O Nginx foi projetado para trabalhar com muita performance e ao mesmo tempo consumir pouca memória do sistema. Diferente de outros web servers como o Apache, o Nginx trabalha de forma assíncrona e orientada a eventos.

Quando o servidor receber uma solicitação, o NGINX dispara um processo mestre, que chamamos de worker, e alguns processos de trabalho, que chamamos de conexões worker.

Processos mestre: Responsável por validar e verificar arquivos de configuração.

Processos trabalho: Responsáveis por processar e trabalhar todas as solicitações do servidor.

Worker:Processo de trabalho capaz de processar multiplas conexões simultâneas, para ser mais exato, 1024 conexões.

Quais são as características do NGINX ?

O NGINX possui uma arquitetura muito grande, e é muito fácil otimiza-lo ou até mesmo alterar seu código fonte. Existe muitos módulos no NGINX que podemos utilizar para diversos tipos de processamento e cenários.

Proxy Reverso

O proxy geralmente é usado para distribuir a carga entre vários servidores, exibir conteúdo de sites diferentes de maneira transparente ou passar solicitações de processamento para servidores de aplicativos em protocolos diferentes do HTTP.

Falando um pouco mais simples, o proxy reverso vai trabalhar recebendo requisições de algum protocolo e pode assumir o papel de servidor (nos momentos em que o objeto requisitado está em cache), ou vai assumir o papel de cliente ( nos momentos em que o objeto não está em cache ).

Já utilizei bastante o NGINX como proxy em servidores cPanel WHM. Aumentava a questão da performance e dava mais tranquilidade para o Apache trabalhar rs.

Balanceador de Carga

O balanceamento de carga é utilizado quando você vai hospedar sua aplicação em mais servidores, garantindo assim, uma alta disponibilidade e resiliência da aplicação. Esse recurso faz com que toda a carga dos acessos a sua aplicação seja redistribuída nos demais servidores.

Mas é um recurso que deve ser configurado corretamente pois o NGINX trabalha com alguns métodos de balanceamento de carga, que são:

Round Robin – Toda as solicitações são distribuidas em todos os servidores do cluster. (Não precisa habilita-lo é o padrão).

Por conexões – O Nginx distribui as solicitações nos servidores que possuem menor número de conexões ativas (servidores ociosos).

Por  IP – O servidor para o qual a solicitação está sendo enviada é determinado pelo IP do cliente.

Streaming

O NGINX tambéem possui um módulo para streaming. Então é possível configurarmos o servidor para que ele trabalhe com conteúdos MP4 e FLV, especificando assim o tamanho do buffer, timout etc.

Principais vantagens do NGINX

Como vocês já perceberam, o NGINX oferece uma série de recursos muito interessantes. Mas na prática, quais vantagens nossa aplicação e servidor teriam?

1. Facilidade de configuração

A instalação ou até mesmo a compilação do NGINX é muito fácil, mas o processo de configuração do servidor é mais simples ainda. Ele funciona através de diretivas, e essas diretivas você pode especificar no arquivo de configuração.

2. Velocidade

A principal mudança que você vai descobrir ao colocar uma aplicação em produção é ver ela trabalhando com multiplas conexões simultâneas e ao mesmo tempo a memória e a CPU consumindo bem pouquinho.

Verá que a aplicação ou o site que tiver trabalhando terá uma maior performance, tudo fluirá com um pouco mais de velocidade.

3. Compatibilidade com muitos projetos em PHP

A experiência que você vai ter ao trabalhar com aquelas aplicações clássicas ( Magento, WordPress, PrestaShop etc ) vão trabalhar com muita velocidade.

4. Fácil instalação de Certificados SSL

No arquivo de configuração do seu site, você pode especificar em qual pasta está os arquivos do certificado SSL, após especificar basta reiniciar o NGINX que o mesmo estará 100% ativo.

Conclusão

O Nginx é um web server focado em alta performance e dará uma acelerada no seu projeto. Sua instalação é fácil, no entanto, sua tunagem e otimização depende de cada projeto em específico.

Conte para mim o que achou do artigo, tem alguma dúvida ou sugestão?

Click to rate this post!
[Total: 0 Average: 0]

Escreva um comentário