Slides nginx
-
Upload
rafael-capucho -
Category
Documents
-
view
246 -
download
5
description
Transcript of Slides nginx
Sistemas DistribuidosUniversidade Federal de São Paulo
Rafael CapuchoViny 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 cargaAté 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 recebe2x 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?!?!