SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler 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?!?!

Mais conteúdo relacionado

Mais procurados

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
Thiago Paes
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEB
elliando dias
 
Redes servidor web
Redes servidor webRedes servidor web
Redes servidor web
Mauro Duarte
 

Mais procurados (20)

Tirando o coelho da cartola: integrando sistemas com RabbitMQ
Tirando o coelho da cartola: integrando sistemas com RabbitMQTirando o coelho da cartola: integrando sistemas com RabbitMQ
Tirando o coelho da cartola: integrando sistemas com RabbitMQ
 
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
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEB
 
Redes servidor web
Redes servidor webRedes servidor web
Redes servidor web
 
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
De A a Zabbix Devry Metrocamp
De A a Zabbix Devry MetrocampDe A a Zabbix Devry Metrocamp
De A a Zabbix Devry Metrocamp
 
Trabalho sobre Proxy
Trabalho sobre ProxyTrabalho sobre Proxy
Trabalho sobre Proxy
 
Servidores WEB
Servidores WEBServidores WEB
Servidores WEB
 
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
 
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
 
Meetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de UsoMeetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de Uso
 
Como funciona a internet
Como funciona a internetComo funciona a internet
Como funciona a internet
 
Php além do LAMP
Php além do LAMPPhp além do LAMP
Php além do LAMP
 
QCon 2019 - Kubernetes Deepdive
QCon 2019 -  Kubernetes DeepdiveQCon 2019 -  Kubernetes Deepdive
QCon 2019 - Kubernetes Deepdive
 
Curso de proxy
Curso de proxyCurso de proxy
Curso de proxy
 
Tunando o Wordpress para sites de alta visitação
Tunando o Wordpress para sites de alta visitaçãoTunando o Wordpress para sites de alta visitação
Tunando o Wordpress para sites de alta visitação
 
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-endModularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
 
Backup para MySQL
Backup para MySQLBackup para MySQL
Backup para MySQL
 

Semelhante a Slides nginx

Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
elliando dias
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantes
Marco Pinheiro
 

Semelhante a Slides nginx (20)

06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Apache
ApacheApache
Apache
 
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
 
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
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
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
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
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
 

Slides nginx

  • 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?!?!