Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ernani Azevedo
N G iN X , o m o to r d a s u a a p lic a o W e b
R o te iro
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
O q u e o N G iN X
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
O q u e o N G iN X
N G iN X , o m o to r d a s u a a p lic a o W e b
O q u e o N G iN X
Fonte: Netcraft
http://news.netcraft.com/archives/2014/04/02/april-2014-web-server-survey.html
N G iN X , o m o to r d a s u a a p lic a o W e b
O q u e o N G iN X
Fonte: W3Techs
http://w3techs.com/technologies/cross/web_server/ranking
N G iN X , o m o to r d a s u a a p lic a o W e b
O q u e o N G iN X
http://www.theatlantic.com/technology/archive/2013/12/welcome-to-the-internet-of-thingies-615-of-web-traffic-is-not-human/282309/
N G iN X , o m o to r d a s u a a p lic a o W e b
A W e b 2 .0 e o fu tu ro
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
A W e b 2 .0 e o fu tu ro
N G iN X , o m o to r d a s u a a p lic a o W e b
O H T M L 5 , e c o m o is s o m u d a a W e b
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
O H T M L 5 , e c o m o is s o m u d a a W e b
N G iN X , o m o to r d a s u a a p lic a o W e b
P ro to c o lo S P D Y
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
P ro to c o lo S P D Y
N G iN X , o m o to r d a s u a a p lic a o W e b
P re p a ra n d o o s e rv id o re s p a ra g ra n d e s c a rg a s
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
P re p a ra n d o o s e rv id o re s p a ra g ra n d e s c a rg a s
Habilitar uso de eventos via epoll (Linux kernel 2.5.44 e glibc 2.3.2);
No FreeBSD, utilizar kqueue;
Habilitar workers para o nmero mximo de CPU's (veja o lscpu):
N G iN X , o m o to r d a s u a a p lic a o W e b
P re p a ra n d o o s e rv id o re s p a ra g ra n d e s c a rg a s
N G iN X , o m o to r d a s u a a p lic a o W e b
P re p a ra n d o o s e rv id o re s p a ra g ra n d e s c a rg a s
N G iN X , o m o to r d a s u a a p lic a o W e b
P re p a ra n d o o s e rv id o re s p a ra g ra n d e s c a rg a s
http {
open_file_cache max=10000 inactive=30s;
open_file_cache_valid
60s;
open_file_cache_min_uses 2;
open_file_cache_errors
on;
}
N G iN X , o m o to r d a s u a a p lic a o W e b
P re p a ra n d o o s e rv id o re s p a ra g ra n d e s c a rg a s
http {
reset_timedout_connection on;
sendfile on;
tcp_nopush on;
}
N G iN X , o m o to r d a s u a a p lic a o W e b
P re p a ra n d o o s e rv id o re s p a ra g ra n d e s c a rg a s
Tuning da pilha TCP no kernel do Linux, para suportar 100k conexes ativas ou
mais;
Alterando o tempo de reciclagem de conexes TCP em Time Wait;
Editar o arquivo /etc/sysctl.conf, alterando:
# Tuning geral de
net.core.rmem_max
net.core.wmem_max
net.ipv4.tcp_rmem
net.ipv4.tcp_wmem
gigabit:
= 16777216
= 16777216
= 4096 87380 16777216
= 4096 65536 16777216
N G iN X , o m o to r d a s u a a p lic a o W e b
S e rv id o re s d e a p lic a o , e s c o lh a a s u a lin g u a g e
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
S e rv id o re s d e a p lic a o , e s c o lh a a s u a lin g u a g e
Internet
Internet
Internet
Internet
Apache
PHP
NGiNX
PHP-FPM
N G iN X , o m o to r d a s u a a p lic a o W e b
S e rv id o re s d e a p lic a o , e s c o lh a a s u a lin g u a g e
Protocolo FastCGI:
PHP-FPM;
Java;
Ruby (mongrel);
BOSH (XMPP over HTTP);
Outros servidores HTTP.
N G iN X , o m o to r d a s u a a p lic a o W e b
S e rv id o re s d e a p lic a o , e s c o lh a a s u a lin g u a g e
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
# Via TCP/IP:
# fastcgi_pass 127.0.0.1:3100;
# Via UNIX Socket:
fastcgi unix:/var/run/php-fpm/php.sock;
}
N G iN X , o m o to r d a s u a a p lic a o W e b
S e rv id o re s d e a p lic a o , e s c o lh a a s u a lin g u a g e
location ~ ^/http-bind {
proxy_buffering off;
proxy_intercept_errors on;
tcp_nodelay on;
keepalive_timeout 55;
proxy_read_timeout 360;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}
proxy_pass http://web1.local:8080;
N G iN X , o m o to r d a s u a a p lic a o W e b
B a la n c e a m e n to d e c a rg a e n tre s e rv id o re s
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
B a la n c e a m e n to d e c a rg a e n tre s e rv id o re s
Apache
PHP
Internet
Internet
Internet
Internet
IPVS
NGiNX
Apache
PHP
PHP-FPM
PHP-FPM
N G iN X , o m o to r d a s u a a p lic a o W e b
B a la n c e a m e n to d e c a rg a e n tre s e rv id o re s
backend {
web1.intra weight=5;
web2.intra:8080;
unix:/tmp/server3;
N G iN X , o m o to r d a s u a a p lic a o W e b
B a la n c e a m e n to d e c a rg a e n tre s e rv id o re s
Internet
Internet
NGiNX
Cluster 1
PHP-FPM
PHP-FPM
Cache
Cluster 2
M
E
M
C
A
C
H
E
D
PHP-FPM
PHP-FPM
PHP-FPM
PHP-FPM
Cluster 3
M
E
M
C
A
C
H
E
D
PHP-FPM
PHP-FPM
M
E
M
C
A
C
H
E
D
N G iN X , o m o to r d a s u a a p lic a o W e b
S S L e m tu d o , s e m s o b re c a rre g a r s u a a p lic a o
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
S S L e m tu d o , s e m s o b re c a rre g a r s u a a p lic a o
ssl
on;
ssl_certificate
/tmp/intranet.crt;
ssl_certificate_key /tmp/intranet.key;
N G iN X , o m o to r d a s u a a p lic a o W e b
C o n te d o e s t tic o
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
C o n te d o e s t tic o
N G iN X , o m o to r d a s u a a p lic a o W e b
C a c h e d e c o n te d o d in m ic o
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
C a c h e d e c o n te d o d in m ic o
Internet
Internet
NGiNX
PHP-FPM
Cache
N G iN X , o m o to r d a s u a a p lic a o W e b
C a c h e d e c o n te d o d in m ic o
Internet
Internet
NGiNX
PHP-FPM
PHP-FPM
Cache
Local
.css
.js
.html
.xml
.jpg
.gif
.mp3
...
gzip -9 (.gz)
N G iN X , o m o to r d a s u a a p lic a o W e b
P e rg u n ta s e e n c e rra m e n to
O que o NGiNX;
A Web 2.0 e o futuro;
O HTML5, e como isso muda a Web;
Protocolo SPDY;
Preparando servidores para grandes cargas;
Servidores de aplicao, escolha a sua linguagem;
Balanceamento de carga entre servidores;
SSL em tudo, sem sobrecarregar sua aplicao;
Contedo esttico;
Cache de contedo dinmico;
Perguntas e encerramento.
N G iN X , o m o to r d a s u a a p lic a o W e b
P e rg u n ta s e e n c e rra m e n to
Perguntas?
N G iN X , o m o to r d a s u a a p lic a o W e b
P e rg u n ta s e e n c e rra m e n to
Obrigado!
Ernani Azevedo
ernaniaz@gmail.com
+55 51 92425885
http://www.intellinews.com.br/