5. WTF nginx
● Web server e proxy reverso open source
● Para HTTP e e-mail
● Foco em
– Performance
– Baixo uso de memória
– Alto desempenho
6. 2-clause BSD-like license
● Faça o que quiser, não somos responsáveis por nada e inclua a informação da licença ao distribuir os fontes
ou os binários
● http://www.tldrlegal.com
● http://nginx.org/LICENSE
9. C10k
● Utilizando Threads e Processos
– Servindo uma página com 100KB
– ~10s quando o cliente está limitado a 80kbps (10KB/s)
– Com módulos carregados, pode ocupar ~1MB por cliente conectado
– O que fazer com 1000 clientes ?
10. Daniel Kegel
● “Manifesto” C10k
● C10k → Concurrent Ten Thousand Simultaneous Connections
● Status quo = Apache
● Bottleneck deixou de ser o hardware e passou a ser o Software
● http://www.kegel.com/c10k.html
● Renato Hirata: Otimizando Servidores Web de Alta Demanda (MsC Unicamp 2002)
11. Igor Sysoev
● Natural do Cazaquistão (URSS)
● SysAdmin na Rambler
● Desenvolvimento de modulos do Apache
– mod_accel
– mod_deflate
● http://sysoev.ru
13. nginx devel
● Iniciou em 2002
● Primeira versão pública em Outubro de 2004
● Considerado estável em 2007
● Versão estável atual: 1.2.3 (07/08/2012)
● Todo em C (+zlib, PCRE e OpenSSL)
● http://www.nginx.org
17. nginx OSs
● Linux
● FreeBSD, NetBSD, OpenBSD, Mac OS X
● Solaris
● AIX
● HP-UX
● Windows
18. nginx main features
● HTTP, HTTPS, SPDY, SMTP, IMAP, POP3
● Load balancer, cache, proxy reverso
● 1 milhão de conexões simultâneas por servidor
● 100K+ servidores virtuais por instância
● Suporte a compressão
● Serviço específico para conteúdo estático
● HTTP video streaming
● ~2.5Mb com 10.000 conexões idle
19. nginx main features
● HTTP, FastCGI, SCGI, uwsgi, memcached
● Configuração com suporte a prefixos e regex
● SSL: TLSv1.1, TLSv1.2, SSL, SNI
20. nginx main features
● Configuração de políticas por largura de banda, requisições ou conexões
● Filtro de requisições
● High availability: Active-Active, Active-Standby
● Atualização do binário sem parar de processas novas requisições (Live update)
21. configuração
● /etc/nginx
– Nginx.conf
– Sites-avaliable
– Sites-enabled
● Leitura sob demanda, sem cache
– Permite configuração em tempo real