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.), configurarnginx.confcorretamente 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

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…

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
- Recarregue os trabalhadores atuais para aplicar as alterações:
nginx -s recarregar - Verifique o ID do processo mestre atualizado:
gato /run/nginx.pid - 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.
sbb-itb-59e1987
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
HUPsinal 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
HUPsinal, 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
- Dominando as configurações do Nginx para desempenho ideal do servidor web
- Dominando a configuração do NGINX: como a Serverion garante o sucesso da hospedagem web B2B
- Retrocesso na configuração do NGINX: a Serverion revive a arte perdida do ajuste de cache de proxy
- A Fronteira Esquecida da Configuração NGINX: O Mergulho da Serverion no Microcaching FastCGI