x0001 ——— Homologação do Sistema
x0002 ——— Instalando o Nginx
x0003 ——— Configurando o Nginx
x0001 – Homologação do Sistema.
Sistema Operacional Utilizado:
CentOS Linux release 7.3.1611 (Core)
Regras do firewall foram realizadas utilizando o firewall-cmd:
firewall-cmd --zone=public --add-port=80/tcp –permanent
firewall-cmd –reload
x0002 – Instalando o Nginx:
Antes de Instalar o Nginx de fato é necessário instalar o EPEL, que são alguns pacotes extras para o repositório:
yum install epel-release
Agora sim podemos instalar o Nginx propriamente Dito:
yum install nginx
x0003 – Configurando o Nginx
Os arquivos de configuração do Nginx ficam no diretório abaixo:
/etc/nginx/*
O arquivo principal é:
/etc/nginx/nginx.conf
É nele que você vai passar a maior parte do raiva tempo, então com seu editor de texto preferido que eu espero que seja o VIM, vamos começar a alterar os byte desse arquivo:
cd /etc/nginx/
vim /etc/nginx/nginx.conf
Como esse é um tutorial e tutoriais são basicamente passos que você tem que seguir sem nem ao menos saber porquê, acredito que é importante eu realmente focar no que importa que é configurar o Nginx, então não vou explicar o que você está fazendo, mas posso te falar o porquê, para o paper não sair do escopo.
Então você basicamente só precisa saber que no arquivo de configuração temos vários blocos de código e você deve respeitar eles e inserir as configurações no lugar adequado.
Dentro do Bloco http>server você pode configurar pra onde vai ser redirecionado, as configurações são auto-explicativas e pra felicidade do sysadmin o Nginx realmente é simples e funcional.
Para configurar o LoadBalance, vamos ter que “criar” dois blocos dentro do bloco do http, basicamente vamos começar configurando o cluster onde você define quais são os nodes que vão estar no loadbalance:
upstream [NOME_DO_CLUSTER]{
ip_hash;
server [FQDN/IPADDRESS] ;
server [FQDN/IPADDRESS] ;
}
O Nome_do_cluster(Você tem que dar um nome que você quiser pra esse cluster, por isso ta marcado em vermelho) é um “alias” onde você referencia no bloco do server e a mágica acontece que na verdade não é mágica, é um algoritmo de round-Robin que faz a comutação entre os “nodes”.
A linha que contém ip_hash é referente a manter a sessão, no sentido de, vamos colocar ai um ambiente com tomcats, onde caso a sessão se iniciou no server A, ela precisa continuar indo para o server A, caso ela seja redirecionada para o server B, a sessão quebra pois a instancia é diferente e não está integrado entre si, logo, o ip_hash vai gerar uma hash do IP do cliente e então com base nessa hash ele vai direcionar para o node que iniciou a sessão. Insano não?
Agora configurando o bloco de server que é basicamente aonde “abre a porta” e recebe as conexões e dispara pro infinito e além ou para o endereço que você quiser.
server {
listen 80 default_server;
server_name SRV-NGINX;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http:// [NOME_DO_CLUSTER] ;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Na verdade esse bloco server{} já está no arquivo de configuração do Nginx, basicamente você abre a porta e manda redirecionar o location /, ou seja, tudo(raiz do servidor web / ) pra dentro do cluster, onde o round-Robin vai gerenciar. Obviamente isso é um tutorial generalista, nessa configuração não contempla nem cache, é só sobre o loadbalance e o proxy reverso em si. Dependendo do ambiente que você estiver você vai precisar de papers mais específicos.
x0004 – Gerenciando o Serviço Nginx
Uma forma de trabalhar com o nginx, é até interessante pois ele tem a própria forma de trabalhar que em teoria não utiliza o
systemctl
, basicamente é o seguinte:
Direto das man pages 4you:
-s signal Send a signal to the master process. The argument signal can be one of: stop, quit, reopen, reload. The following table shows the corresponding system signals:
stop SIGTERM
quit SIGQUIT
reopen SIGUSR1
reload SIGHUP
Resumindo, a utilização básica é:
nginx -s stop
nginx -s start
Fontes:
http://nginx.org/en/docs/beginners_guide.html
https://www.nginx.com/resources/deployment-guides/load-balance-apache-tomcat/
