Por Matheus Clemente

Gerente de Produto no Rock Stage

Publicado em 27 de julho de 2019. | Atualizado em 11 de março de 2020


NGINX é um servidor web open source de alta performance que entrega o conteúdo estático de um site de forma rápida e fácil de configurar. Oferece recursos de balanceamento de cargas, proxy reverso e streaming, além de gerenciar milhares de conexões simultâneas. O resultado disso é maior velocidade e escalabilidade.

Se você quer um servidor web em que não seja preciso se preocupar com a quantidade de conexões simultâneas feitas no site, então precisa conhecer o NGINX. Aliás, essa é apenas uma das suas inúmeras funcionalidades, pois ele também oferece recursos como balanceador de carga HTTP, proxy reverso e muito mais.

Segundo dados da comparação estatística referente à utilização de servidores web feita pelo site W3Techs, o NGINX está em segundo lugar, com 30,7% de sites que utilizam essa tecnologia.

Já o Apache tem 43,1% e o Microsoft IIS, 8%. É uma posição excelente, visto que ele está no mercado há bem menos tempo que as outras opções.

Para que você entenda por que o NGINX não para de crescer e saiba como criar um site que processe diversas conexões simultâneas, fizemos este post com os seguintes tópicos:

Quer saber mais sobre essa tecnologia? Continue a leitura!

 

O que é NGINX?

O NGINX é um servidor web open source, de alta performance. Ele conta com uma arquitetura avançada e baseada em eventos — EBA, ou Event-based Architecture. Essa característica permite inúmeras conexões simultâneas, o que proporciona mais velocidade e escalabilidade.

O NGINX entrega o conteúdo estático do site de forma rápida, é fácil de configurar e tem baixo consumo de recursos. Por conta de todas essas características, o servidor é utilizado por grandes empresas como Microsoft, IBM, Google, WordPress.org, entre outras.

 

Quando surgiu e quem lançou?

Seu desenvolvedor foi o engenheiro de softwares Igor Sysoev, que escreveu o NGINX na linguagem C em 2002. A pronúncia correta do nome do servidor é “Engine-X” e a sua primeira versão pública foi liberada em 2004.

O desafio, conhecido como C10K, era criar um servidor Web que conseguisse manipular 10 mil conexões simultaneamente para entregar um produto que fosse capaz de trabalhar com a referência prevista para a web moderna, porém, com a transformação digital esse número se tornou ainda maior.

 

Como o NGINX funciona?

As solicitações web em outros servidores, como o Apache, funcionam de forma individual, ou seja, o usuário solicita uma página por meio do Protocolo HTTP ou HTTPS, que processa e retorna o resultado. Esse processo é chamado de thread individual, que é feita para cada solicitação requisitada ao servidor.

O NGINX funciona com base em eventos. Assim, em vez de fazer uma solicitação direta ao servidor, ele executa um processo mestre, chamado worker, e vários processos de trabalho, chamados conexões worker. Todo esse processo trabalha continuamente e de forma assíncrona.

Dessa forma, quando há um pedido de processamento, ele é feito pelas conexões worker, que fazem a solicitação ao processo mestre que, por sua vez, processa e retorna o resultado. Essa funcionalidade permite a manipulação de inúmeras conexões simultâneas, pois cada conexão worker é capaz de processar 1024 solicitações.

Quando o servidor está operando, cada worker carrega uma cadeia de módulos, dependendo de como a configuração é feita durante a instalação. Dessa forma, cada solicitação é feita com todos os recursos configurados em operação.

como funciona
 

Quais são as características do NGINX?

O NGINX conta com uma arquitetura modular extensível, o que facilita a extensão dos recursos para quem quiser mexer em seu código fonte. O módulo principal é responsável por fazer o tratamento da conexão e, além dele, existe uma série de módulos para diferentes tipos de processamento. Confira alguns deles.

Balanceamento de carga

O balanceamento de carga é um recurso extremamente importante para quem precisa de um site com alta disponibilidade, pois ele permite a distribuição das requisições de serviço entre os servidores.

Dessa forma, quando há um acréscimo nas solicitações ao servidor, como o aumento do tráfego, o NGINX consegue direcionar o fluxo para outros servidores que estejam no arquivo de configuração.

Powered by Rock Convert

Existem três possibilidades de distribuição da carga no NGINX. Ela pode ser feita igualmente entre os servidores configurados, ser distribuída para o servidor que tenha poucas conexões no momento ou é possível determinar o endereço IP de cada cliente para cada servidor específico.

Ao utilizar o balanceamento de cargas e o Google Analytics, é preciso fazer com que o código de rastreamento passe por todos os servidores utilizados. Para isso, é preciso utilizar o recurso de proxy reverso para disponibilizar o arquivo de configuração do Analytics. Dessa forma, sempre que uma requisição for feita, os cabeçalhos HTTP correspondentes serão atualizados.

Proxy reverso

Antes de falar em proxy reverso, vamos explicar rapidamente o que é um proxy. Na prática, ele funciona como um servidor intermediário entre os computadores de uma rede e o servidor web. Ele é utilizado como cache de página, com a finalidade de economizar recursos de banda e agilizar o seu carregamento.

Já o proxy reverso, é um servidor web que recebe as solicitações de conexão e gerencia o que será preciso requisitar no servidor principal ou verifica se a solicitação já está disponível em cache. O NGINX, portanto, oferece esse recurso, que pode ser facilmente configurado em seu arquivo de configuração.

Streaming

Outra característica do NGINX é oferecer um módulo nativo para streaming. Portanto, ele permite uma série de configurações sobre como o servidor tratará conteúdos MP4 e FLV, como o tamanho do buffer utilizado, o tempo de timeout etc.

 

Por que usar o servidor web NGINX?

O servidor oferece uma série de recursos, que se transformam em diversos benefícios ao ser utilizado em um site. Veja por que usar o NGINX!

Velocidade

Por ter sua arquitetura baseada em eventos, as requisições ao servidor são feitas com mais rapidez, pois há um melhor aproveitamento de memória e recursos de CPU. Além disso, oferece excelente desempenho ao disponibilizar arquivos estáticos, como documentos, imagens, arquivos HTML, entre outros.

Escalabilidade

Ao oferecer recursos como o balanceamento de cargas, o servidor permite o escalonamento rápido das requisições em situações diferenciadas. Dessa forma, é uma excelente alternativa para utilizar em aplicações na nuvem.

Compatibilidade

Outro benefício de utilizar o servidor é sua compatibilidade com os diversos aplicativos web utilizados no mercado, como WordPress, Joomla, Python, entre outros.

Fácil configuração

O processo de configuração do servidor é simples, pois funciona com base em diretivas que devem ser especificadas no arquivo de configuração.

 

Quais são as diferenças entre NGINX e Apache?

O Apache é o principal concorrente do NGINX, utilizado em 43,1% dos sites, conforme a pesquisa mencionada anteriormente. Existem algumas diferenças entre os dois servidores e é preciso conhecê-las para fazer uma boa escolha.

Compatibilidade de sistema operacional

Os dois servidores funcionam em ambientes baseados em UNIX, como LINUX e suas variações. Já com relação à plataforma Windows, o NGINX tem menor performance nesse ambiente.

Configurações

A configuração do Apache é feita de forma descentralizada, ou seja, utiliza o arquivo “.htaccess” espalhado em diretórios da aplicação e o carregamento de seus módulos são feitos em tempo de execução. Já no NGINX as configurações são centralizadas no arquivo “nginx.conf” e os seus módulos são carregados dinamicamente.

Performance

O grande diferencial do NGINX é a sua capacidade de operar com milhares de conexões simultâneas, com o dobro da velocidade necessária no Apache e, ainda, consumindo menos memória para conteúdos estáticos. Com relação a conteúdos dinâmicos, os dois servidores são equivalentes.

O NGINX é um servidor web que oferece inúmeros recursos, como o balanceamento de cargas, proxy reverso e muito mais. Sua utilização proporciona muitos benefícios a um site, como maior velocidade, escalabilidade e alta disponibilidade. Além disso, ele é fácil de configurar e compatível com as principais aplicações utilizadas no mercado.

Agora que você já sabe o que avaliar para escolher um servidor web, baixe o nosso Guia do WordPress para Blogs Corporativos e confira como gerar mais oportunidades para o seu negócio!

Avalie a performance do seu site

100.000 pessoas não podem estar enganadas
Deixe seu email e receba conteúdos antes de todo mundo

Posts relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *