Escolar Documentos
Profissional Documentos
Cultura Documentos
Nginx:
o confronto final
entre os dois
servidores web mais
utilizados no Linux
03
Introdução
06
O que é o Apache?
12
O que é Nginx?
15
Quais dos dois é melhor?
21
É possível usar os dois juntos?
24
Conclusão
26
Sobre a E-TINET
Introdução
INTRODUÇÃO
4
INTRODUÇÃO
Caso você não se lembre ou ainda não saiba Falando nisso, você sabe qual o servidor
o que é um servidor web, aqui vai uma breve web que o seu website utiliza? Então, anote
definição: essa dica: digite o comando curl –I url_do_
seu_site. Para descobrir o servidor da página
Enquanto o servidor nada mais é que linux.org, por exemplo, é só digitar a linha
um computador, disponível 24 horas curl –I www.linux.org.
por dia, que armazena dados de um
site/aplicação online e os fornece Se você fez o teste, também concluiu, por
para os clientes por meio de uma meio do pequeno relatório gerado, que o site
transferência de protocolos (HTTP oficial do Linux é mantido pelo Apache. Mas
e FTP), o servidor web é o software isso faz do Apache um servidor web melhor
que processa as solicitações do que o Nginx? Não é de hoje que essa questão
cliente e garante que a troca de percorre pelo universo Linux — e até mesmo
informações seja efetuada. pelo universo dos servidores.
Não são poucos os servidores web existentes Para resolver essa questão, este e-book foi
no mercado. Porém, dentre todos, dois deles produzido com uma única finalidade: dar a
se destacam por juntos dominarem mais de você informações relevantes sobre ambos os
65% do tráfego global (considerando somente sistemas para que você possa tirar as suas
sites ativos): o Apache e o Nginx. próprias conclusões. Vamos começar?
5
O que é o Apache?
O QUE É O APACHE?
7
O QUE É O APACHE?
Ele é conhecido, também, por ser um Por mais que você não perceba, é certo que, ao Isso porque são inúmeros os sites que
dos componentes do LAMP stack, uma longo de sua trajetória como internauta desde utilizam o Apache como servidor web. Logo,
combinação de produtos de software livres e os tempos em que conheceu o mundo digital, boa parte de sua navegação por páginas da
open source (código aberto) cujo acrônimo é o grau de interação entre você e o Apache web, autenticações, compras, transações,
representado pelas iniciais de cada software pode ter sido maior do que com um velho participações em fóruns, entre outras
que integra o conjunto (Linux, Apache, amigo, por exemplo. atividades online, foram intermediadas por
MySQL e PHP). alguma das versões do Apache.
8
O QUE É O APACHE?
9
O QUE É O APACHE?
Veja logo a seguir uma breve explicação — »» Event: este módulo deriva do módulo
mais didática do que técnica — sobre cada worker, permitindo que um número
módulo: maior de requisições seja recebido.
10
O QUE É O APACHE?
»» gratuito; »» compatibilidade
com sistemas e
»» código aberto; plataformas;
»» configuração de »» segurança;
módulos;
»» flexibilidade;
»» desempenho;
»» documentação.
11
O que é Nginx?
O QUE É NGINX?
O servidor Nginx (lê-se engine-x) foi desenvolvido Enquanto o Apache integra o LAMP stack, o Nginx é componente de uma
no início da década de 2000 — mais precisamente variável do LAMP chamada LEMP (Linux, “Engine-x”, MySQL, PHP), também
em 2002 —, por Igor Sysoev e lançado como um conjunto de produtos de software livres.
servidor HTTP e IMAP/POP3/Proxy em 2004.
Naquele período, o Apache já estava consolidado como o principal servidor
web, utilizado pela maioria dos usuários ao redor do mundo, porém, com
a necessidade cada vez maior de processar requisições simultaneamente,
nasceu um problema que ficou conhecido como C10K.
Embora já tenha sido corrigido no Apache, o fator C10K, que exigia dos
servidores a capacidade de processar simultaneamente 10 mil clientes, gerou
a necessidade de criar uma nova solução, ou seja, um servidor web capaz de
suportar a crescente demanda de conexões.
13
O QUE É NGINX?
»» segurança; »» documentação;
»» escalabilidade;
E OS CONTRAS?
»» baixa flexibilidade;
14
Quais dos dois
é melhor?
QUAIS DOS DOIS É MELHOR?
16
QUAIS DOS DOIS É MELHOR?
FACILIDADE NA INTERFACE
Ambos os servidores podem ser adquiridos pré-configurados e prontos para usar, bastando fazer a instalação no servidor. Porém, para quem
está iniciando com servidores web ou até mesmo com o sistema Linux, a configuração do Nginx pode ser relativamente mais fácil.
17
QUAIS DOS DOIS É MELHOR?
ARQUITETURA
Pode-se destacar como mais significativa a Contudo, é preciso levar em consideração que
diferença dos modelos de eventos. No Apache, o Apache foi pensado, desenvolvido e lançado
como explicado anteriormente, o administrador ainda na década de 1990.
pode configurar o método de processamento de
acordo com os módulos disponíveis. É um servidor com idade para ser visto
como um clássico, porém ele é capaz
Já no Nginx, isso não se mostra necessário, já de se manter atual mesmo com todas
que a configuração padrão garante um trabalho as mudanças vivenciadas pela internet
eficiente e com ênfase em extrair a melhor nos últimos 20 anos.
performance do hardware — mas atenção: é
importante não confundir com consumo de Para corresponder com alta performance
recursos da máquina. e melhor aproveitamento dos recursos de
hardware, a arquitetura do Nginx merece o
Em suma, o Nginx possui uma arquitetura mais seu destaque. Em longo prazo, o Apache já
adequada às necessidades dos tempos atuais, demonstrou que pode se preparar para atender
não requerendo tantas atualizações de segurança as suas necessidades.
e de manutenção como o Apache (que, até pela
flexibilidade, se adapta aos problemas).
18
QUAIS DOS DOIS É MELHOR?
MÓDULOS
19
QUAIS DOS DOIS É MELHOR?
PERFORMANCE
Ao avaliar a performance dos servidores, consideramos alguns testes, realizados pelos sites Eschrade e Speedemy, que mediram o
desempenho dos sistemas por meio de uma certa quantidade de requisições para diferentes tipos de conteúdos (estáticos e dinâmicos).
Veja os detalhes logo abaixo.
A performance do Nginx para sites estáticos (páginas da web Com base no mesmo teste feito pela Speedemy, o desempenho
tradicionais) se mostrou bem superior (2,5 vezes mais rápida) à do do servidor Nginx para sites dinâmicos (aqueles que possibilitam
Apache em um teste envolvendo 1.000 conexões simultâneas. maior interação entre um site e seus respectivos visitantes) é
Outro teste, desta vez envolvendo 512 conexões, demonstrou equivalente ao do Apache.
uma performance 2 vezes superior e um consumo de recursos 4%
menor (15,5% do Apache versus 11,8% do Nginx). Ou seja, o Apache é uma alternativa tão boa quanto o Nginx
nesse quesito.
Esses números são decorrentes das diferenças contrastantes
de cada arquitetura. A estrutura do Nginx, desenvolvida Uma das vantagens do Apache, como dito anteriormente, é a sua
justamente para suportar uma boa carga de conexões flexibilidade. Atualmente, a mesma estrutura EDA utilizada no
simultaneamente, se mostrou muito mais rápida e eficiente na Nginx pode ser executada no Apache — o que explica a equivalência
questão do uso de recursos. entre os dois servidores para rodar conteúdos dinâmicos.
20
É possível usar
os dois juntos?
É POSSÍVEL USAR OS DOIS JUNTOS?
22
É POSSÍVEL USAR OS DOIS JUNTOS?
Como cada um possui características Conforme aprendemos ao longo do conteúdo, Na prática, você poderá utilizar o servidor
distintas, tanto com relação aos objetivos o Apache conta com um grau de maturidade Nginx para lidar com conteúdos estáticos, já
dos seus criadores quanto na execução muito superior e se caracteriza pela sua que o desempenho para essa tarefa é muito
dentro do servidor, eles podem ser utilizados flexibilidade (termo constantemente superior. O papel de receber arquivos que
juntos sem problema algum! reproduzido até aqui), enquanto o Nginx é exigem muito processamento, no caso, pode
reconhecido por ser o sistema que suportará ficar a cargo do bom e velho Apache.
a carga pesada sem demandar esforços.
23
Conclusão
CONCLUSÃO
Agora, qual deles será o escolhido? Se você ficou triste porque a batalha
acabou (pelo menos neste material), sinta-se feliz por poder escolher não
apenas um, mas pelos dois servidores web. Com isso, o seu site será capaz
de proporcionar a melhor experiência possível ao seu público.
25
E-TINET é um projeto pessoal de Pedro Delfino, profissional com
mais de 14 anos de experiência em sistemas Linux. A E-TINET tem
como objetivo treinar e capacitar os profissionais de tecnologia a
trabalharem com o Linux profissionalmente.