Contate-Nos

info@serverion.com

Ligue para nós

+1 (302) 380 3902

Configuração do NGINX para DevOps: o truque da Serverion para implantações com tempo de inatividade zero

Configuração do NGINX para DevOps: o truque da Serverion para implantações com tempo de inatividade zero

Implantações com tempo de inatividade zero significa atualizar seu aplicativo sem interromper o serviço – essencial para empresas onde até mesmo uma breve interrupção pode custar milhões. O NGINX torna isso possível usando seu modelo de processo mestre-trabalhador e sinais inteligentes como USR2 (iniciar novos processos) e HUP (recarregar configuração). Aqui está a chave:

  • Como funciona: O NGINX transfere o tráfego de trabalhadores antigos para os atualizados sem interromper as conexões.
  • Etapas principais: Use sinais (USR2, HUP, etc.), configurar nginx.conf corretamente e valide as alterações antes de recarregar.
  • Técnicas: Combine o NGINX com métodos como implantações azul-verde ou Docker para atualizações contínuas.
  • Verificações de saúde: Garanta que somente servidores saudáveis lidem com o tráfego, usando verificações de integridade passivas ou ativas do NGINX.

Com a configuração correta, você pode manter seus serviços funcionando sem problemas durante as atualizações, proteger a receita e manter a confiança do cliente.

Noções básicas do NGINX para implantações com tempo de inatividade zero

NGINX

Implantação com tempo de inatividade zero explicada

O NGINX utiliza um modelo mestre-trabalhador para lidar com atualizações sem interromper o serviço. O processo mestre supervisiona a configuração e o controle, enquanto os processos de trabalho gerenciam as conexões do cliente. Essa configuração permite que o tráfego seja transferido perfeitamente dos trabalhadores antigos para os novos durante as atualizações, garantindo um serviço ininterrupto.

Gerenciamento de conexão NGINX

O NGINX depende de sinais específicos para controlar processos durante atualizações ou alterações de configuração:

  • USR2: Inicia novos processos mestre e de trabalho.
  • GUINCHO: Interrompe processos de trabalho antigos com elegância.
  • HUP: Recarrega a configuração e substitui os trabalhadores.
  • DESISTIR: Desliga o mestre e os trabalhadores com elegância.

Ao recarregar, o NGINX move o antigo ID do processo mestre para /run/nginx.pid.oldbin, escreve o novo ID do processo mestre para /executar/nginx.pid, e permite que trabalhadores antigos concluam solicitações ativas antes de desligar.

Implantações de aplicativos modernos: como usar NGINX e JFrog para…

JFrog

Configurando o NGINX para operação contínua

Para manter as conexões ativas durante as recargas, aproveite a arquitetura master-worker do NGINX com as seguintes configurações.

Principais etapas de configuração do NGINX

Ligar multi_aceitar para permitir que os trabalhadores manipulem várias conexões por evento. Aqui está um exemplo de configuração para nginx.conf:

worker_processes auto; pid /run/nginx.pid; eventos { worker_connections 1024; multi_accept ativado; } http { upstream backend { server backend1.example.com:8080; server backend2.example.com:8080; keepalive 32; } servidor { listen 80; server_name example.com; local / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Conexão ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } 

Recarregando a configuração sem tempo de inatividade

  1. Recarregue os trabalhadores atuais para aplicar as alterações:
    nginx -s recarregar 
  2. Verifique o ID do processo mestre atualizado:
    gato /run/nginx.pid 
  3. Execute uma atualização binária sem interromper o tráfego:
    matar -USR2 $(cat /run/nginx.pid) matar -WINCH $(cat /run/nginx.pid.oldbin) 

Essas etapas permitem que o tráfego transite suavemente entre os trabalhadores antigos e novos, garantindo um serviço ininterrupto.

Métodos de implantação com NGINX

Você pode usar o NGINX para atingir implantações com tempo de inatividade zero aproveitando técnicas como configurações azul-verde ou abordagens baseadas em contêineres.

Configuração de implantação azul-verde

Com o NGINX, você pode gerenciar o tráfego entre dois ambientes – comumente chamados de azul e verde. Esses ambientes são idênticos, mas apenas um está ativo por vez. Veja como funciona:

  • Implante a versão atualizada no ambiente inativo (por exemplo, verde).
  • Execute verificações de integridade para garantir que a nova versão esteja funcionando corretamente.
  • Uma vez verificado, atualize o Configuração do NGINX para rotear o tráfego para o ambiente atualizado.
  • Recarregue a configuração usando o HUP sinal para evitar a queda de qualquer conexão ativa.

Este método garante uma transição suave e sem interrupções de serviço.

Integração Docker e NGINX

Usar o Docker com o NGINX agiliza as implantações, mantendo ambientes consistentes tanto para as camadas de aplicativo quanto para as de proxy. Veja como você pode obter atualizações sem tempo de inatividade:

  • Inicie o novo contêiner junto com o atual ativo.
  • Realize verificações de integridade para confirmar se o novo contêiner está pronto.
  • Modifique a configuração upstream do NGINX para incluir o novo contêiner.
  • Recarregue a configuração com o HUP sinal, permitindo que os trabalhadores antigos concluam o processamento antes de saírem.

Essa abordagem garante serviço ininterrupto durante a atualização do seu aplicativo.

Teste e Verificação

Configurar verificações de integridade

As verificações de integridade do NGINX ajudam a garantir que apenas servidores funcionais processem o tráfego. Essas verificações funcionam em conjunto com a configuração upstream e o roteamento azul-verde. O NGINX oferece dois tipos de verificações de integridade: passiva (disponível no NGINX Open Source) e ativo (exclusivo para NGINX Plus).

Para verificações de integridade passivas no NGINX Open Source, configure seu bloco upstream assim:

backend upstream { servidor backend1.serverion.com:8080 max_fails=3 fail_timeout=30s; servidor backend2.serverion.com:8080 max_fails=3 fail_timeout=30s; zona backend 64k; } 

Se estiver usando o NGINX Plus, você pode habilitar verificações de integridade ativas adicionando o verificação de saúde diretiva juntamente com uma corresponder bloquear:

localização / { proxy_pass http://backend; intervalo de verificação de integridade = 5 s falhas = 3 aprovações = 2 obrigatório persistente; corresponder à verificação de integridade { status 200; cabeçalho Content-Type = application/json; corpo ~ '"status":"UP"'; } } 

Certifique-se de validar essas configurações antes de recarregar o NGINX.

Validar configuração

Sempre teste a configuração do NGINX antes de recarregá-lo. Use o seguinte comando:

nginx -t -c /caminho/para/seu/nginx.conf 

Fundamentos de implantação com tempo de inatividade zero

Alcançar implantações com tempo de inatividade zero depende de uma configuração cuidadosa do NGINX e de um planejamento sólido da infraestrutura. Esses elementos trabalham em conjunto para garantir que as atualizações ocorram sem interrupções.

Aqui estão os principais fatores para o sucesso:

  • Controle de processo e validação de configuração: Aproveite ao máximo a arquitetura do NGINX e siga protocolos de testes rigorosos.
  • Estabilidade da infraestrutura: Mantenha um desempenho consistente e a segurança rigorosa durante todo o processo de implantação.

Para obter detalhes sobre verificações de integridade e etapas de reversão, consulte o Teste e Verificação seção.

ServerionA plataforma da apoia esses esforços com estabilidade e segurança confiáveis. Sua centros de dados globais mantenha o desempenho estável durante as atualizações e a proteção DDoS integrada garante que a segurança permaneça intacta.

Comece aos poucos, usando recursos de alternância em serviços não críticos. Amplie gradualmente, mantendo testes regulares, monitoramento rigoroso e planos de reversão claros no centro da sua estratégia.

Postagens de blog relacionadas

pt_PT