SlideShare a Scribd company logo
1 of 23
Download to read offline
Sistemas Distribuidos
Universidade Federal de São Paulo
Rafael Capucho
Viny Cesar
Introdução ao servidor web NGINX
Pronúncia: "engine-ex"
É um servidor de Proxy Reverso para
os protocolos HTTP, HTTPS, SMTP,
POP3 e IMAP.
Um proxy reverso é um tipo de servidor
que repassa recursos para o cliente
proviniente de um ou mais servidores
atuando de maneira aglutinadora e transparente.
Proxy Reverso
Forward Proxy atua como intermediário para os clientes
associados, retornando para eles os recursos acessíveis
pela rede.
Enquanto o Forward Proxy
v
Além do mais pode trabalhar como:
Load Balancer (Balanceamento de carga) *
HTTP Cache
Web Server (servidor de entrada)
Balanceamento de carga é uma técnica para
distribuir a carga de trabalho entre dois ou mais
computadores, discos rígidos ou outros recursos,
a fim de otimizar a utilização de recursos,
maximizar o desempenho, minimizar o tempo de
resposta e evitar sobrecarga.
Balanceamento de carga
Balanceamento de carga
Balanceamento de carga
Até 15mil requisições por segundo pode ser usado
Load Balancer em software, alem disso é
necessário soluções mais robustas.
(Ou DNS Load Balancer)
Instalando NGINX no Ubuntu:
sudo apt-get install nginx
Gerenciando o Daemon:
sudo service nginx start
sudo service nginx stop
Marcando para iniciar ao iniciar:
update-rc.d nginx defaults
Criando a estrutura de 1 site:
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod 755 /var/www
touch /var/www/example.com/public_html/index.html
Conteúdo: /var/www/example.com/public_html/index.html
<html>
<head>
<title>www.example.com</title>
</head>
<body>
<h1>Página de Exemplo</h1>
</body>
</html>
Copiando a estrutura padrão de configuração (default) para example.com:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
Obs: Inicialmente colocamos as configurações dentro de Sites-Available
e depois quando quisermos ativar o site fazemos um link dentro de
Sites-Enable como veremos.
Editando as configurações:
server {
Listen 80;
root /var/www/example.com/public_html;
index index.html index.htm;
server_name example.com;
}
Ativando o site:
sudo ln -s /etc/nginx/sites-available/example.com
/etc/nginx/sites-enabled/example.com
sudo service nginx restart
Pronto, nosso servidor já pode receber conexões
através do dominio exemple.com
Configuração para Load Balancer
upstream backend {
server backend1.example.com;
server backend2.example.com;
server 192.168.0.105;
}
Server {
listen 80;
root /var/www/example.com/public_html;
index index.html index.htm;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
Configuração para Load Balancer
upstream backend {
server backend1.example.com weight=1;
server backend2.example.com weight=2;
server 192.168.0.105 weight=4;
}
Server {
listen 80;
root /var/www/example.com/public_html;
index index.html index.htm;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
Obs: Peso 2 recebe
2x mais que 1
Configuração para Load Balancer
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server 192.168.0.105;
}
Server {
listen 80;
root /var/www/example.com/public_html;
index index.html index.htm;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
Configuração para Load Balancer
upstream backend {
server backend1.example.com weight=1;
server backend2.example.com weight=2;
server 192.168.0.105 weight=4 max_fails=3 fail_timeout=15s;
}
Server {
listen 80;
root /var/www/example.com/public_html;
index index.html index.htm;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
Configuração para Load Balancer
Dúvidas?!?!

More Related Content

What's hot

JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - AvançadoAdriano Schmidt
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015Adriano Schmidt
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMRodrigo Zaccara
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceGustavo Ciello
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)elliando dias
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Claudio Miranda
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxThiago Paes
 
Redes servidor web
Redes servidor webRedes servidor web
Redes servidor webMauro Duarte
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory gigadrop
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]João Augusto
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanJuliano Atanazio
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBelliando dias
 

What's hot (20)

Servidor proxy Squid
Servidor proxy SquidServidor proxy Squid
Servidor proxy Squid
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - Avançado
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Servidores WEB
Servidores WEBServidores WEB
Servidores WEB
 
FISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de DatacentersFISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de Datacenters
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performance
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
 
Redes servidor web
Redes servidor webRedes servidor web
Redes servidor web
 
Trabalho sobre Proxy
Trabalho sobre ProxyTrabalho sobre Proxy
Trabalho sobre Proxy
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarman
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEB
 

Viewers also liked

Sistemas Distribuídos - Aula 05
Sistemas Distribuídos - Aula 05Sistemas Distribuídos - Aula 05
Sistemas Distribuídos - Aula 05Arthur Emanuel
 
Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06Arthur Emanuel
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosGustavo Monteiro
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebRafael Chagas
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 

Viewers also liked (6)

Sistemas Distribuídos - Aula 05
Sistemas Distribuídos - Aula 05Sistemas Distribuídos - Aula 05
Sistemas Distribuídos - Aula 05
 
CSS 3
CSS 3CSS 3
CSS 3
 
Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06Sistemas Distribuídos - Aula 06
Sistemas Distribuídos - Aula 06
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na Web
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 

Similar to NGINX Introdução

Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxThiago Paes
 
Apresentação zend framework 2 parte 1
Apresentação zend framework 2   parte 1 Apresentação zend framework 2   parte 1
Apresentação zend framework 2 parte 1 Edgar Dantas
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxThiago Paes
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressJulian Fernandes
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheDell Technologies
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupWagner Roberto dos Santos
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantesMarco Pinheiro
 
Project HA
Project HAProject HA
Project HAKarpv
 

Similar to NGINX Introdução (20)

Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
Apresentação zend framework 2 parte 1
Apresentação zend framework 2   parte 1 Apresentação zend framework 2   parte 1
Apresentação zend framework 2 parte 1
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
 
Servidor Web.pdf
Servidor Web.pdfServidor Web.pdf
Servidor Web.pdf
 
Web seminario varnish
Web seminario varnishWeb seminario varnish
Web seminario varnish
 
Python CGI
Python CGIPython CGI
Python CGI
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPress
 
Squid proxy
Squid proxySquid proxy
Squid proxy
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+Apache
 
Apache htaccess
Apache htaccessApache htaccess
Apache htaccess
 
Aula 2
Aula 2Aula 2
Aula 2
 
Linux - Servidor Web Apache
Linux - Servidor Web ApacheLinux - Servidor Web Apache
Linux - Servidor Web Apache
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações Mashup
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantes
 
Cake Php
Cake PhpCake Php
Cake Php
 
Procergs php-seguro
Procergs php-seguroProcergs php-seguro
Procergs php-seguro
 
Project HA
Project HAProject HA
Project HA
 
Nginx, Apache e Varnish
Nginx, Apache e VarnishNginx, Apache e Varnish
Nginx, Apache e Varnish
 

NGINX Introdução

  • 1. Sistemas Distribuidos Universidade Federal de São Paulo Rafael Capucho Viny Cesar Introdução ao servidor web NGINX
  • 3. É um servidor de Proxy Reverso para os protocolos HTTP, HTTPS, SMTP, POP3 e IMAP.
  • 4. Um proxy reverso é um tipo de servidor que repassa recursos para o cliente proviniente de um ou mais servidores atuando de maneira aglutinadora e transparente. Proxy Reverso
  • 5. Forward Proxy atua como intermediário para os clientes associados, retornando para eles os recursos acessíveis pela rede. Enquanto o Forward Proxy v
  • 6. Além do mais pode trabalhar como: Load Balancer (Balanceamento de carga) * HTTP Cache Web Server (servidor de entrada)
  • 7. Balanceamento de carga é uma técnica para distribuir a carga de trabalho entre dois ou mais computadores, discos rígidos ou outros recursos, a fim de otimizar a utilização de recursos, maximizar o desempenho, minimizar o tempo de resposta e evitar sobrecarga. Balanceamento de carga
  • 9. Balanceamento de carga Até 15mil requisições por segundo pode ser usado Load Balancer em software, alem disso é necessário soluções mais robustas. (Ou DNS Load Balancer)
  • 10. Instalando NGINX no Ubuntu: sudo apt-get install nginx
  • 11. Gerenciando o Daemon: sudo service nginx start sudo service nginx stop
  • 12. Marcando para iniciar ao iniciar: update-rc.d nginx defaults
  • 13. Criando a estrutura de 1 site: sudo mkdir -p /var/www/example.com/public_html sudo chown -R www-data:www-data /var/www/example.com/public_html sudo chmod 755 /var/www touch /var/www/example.com/public_html/index.html
  • 15. Copiando a estrutura padrão de configuração (default) para example.com: sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com Obs: Inicialmente colocamos as configurações dentro de Sites-Available e depois quando quisermos ativar o site fazemos um link dentro de Sites-Enable como veremos.
  • 16. Editando as configurações: server { Listen 80; root /var/www/example.com/public_html; index index.html index.htm; server_name example.com; }
  • 17. Ativando o site: sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com sudo service nginx restart
  • 18. Pronto, nosso servidor já pode receber conexões através do dominio exemple.com
  • 19. Configuração para Load Balancer upstream backend { server backend1.example.com; server backend2.example.com; server 192.168.0.105; } Server { listen 80; root /var/www/example.com/public_html; index index.html index.htm; server_name example.com; location / { proxy_pass http://backend; } }
  • 20. Configuração para Load Balancer upstream backend { server backend1.example.com weight=1; server backend2.example.com weight=2; server 192.168.0.105 weight=4; } Server { listen 80; root /var/www/example.com/public_html; index index.html index.htm; server_name example.com; location / { proxy_pass http://backend; } } Obs: Peso 2 recebe 2x mais que 1
  • 21. Configuração para Load Balancer upstream backend { ip_hash; server backend1.example.com; server backend2.example.com; server 192.168.0.105; } Server { listen 80; root /var/www/example.com/public_html; index index.html index.htm; server_name example.com; location / { proxy_pass http://backend; } }
  • 22. Configuração para Load Balancer upstream backend { server backend1.example.com weight=1; server backend2.example.com weight=2; server 192.168.0.105 weight=4 max_fails=3 fail_timeout=15s; } Server { listen 80; root /var/www/example.com/public_html; index index.html index.htm; server_name example.com; location / { proxy_pass http://backend; } }
  • 23. Configuração para Load Balancer Dúvidas?!?!