Configuração do Nginx para Hospedar Aplicações Frontend no Windows

Obtenção e Preparação do Binário

Realize o download da versão estável do servidor a partir do repositório oficial e descompacte o arquivo em um diretório local. Evite caminhos com espaços ou caracteres especiais para prevenir conflitos de permissão e roteamento.

Validação do Processo em Execução

Após iniciar o executável principal, o serviço passará a escutar na porta 80. Para confirmar a inicialização no sistema operacional Windows, execute no terminal:

tasklist /FI "IMAGENAME eq nginx.exe" /FO TABLE

Para identificar a porta vinculada ao processo identificado:

netstat -ano | findstr 80

Organização dos Recursos da Aplicação

Transfira o diretório de compilação gerado pelo seu framework frontend para a pasta raiz da instalação do Nginx. Renomeie a pasta para um identificador alfanumérico simples, como client_assets, garantindo compatibilidade imediata com o mapeamento de rotas.

Ajustes no Arquivo de Roteamento

Edite o documento localizado em conf/nginx.conf. A estrutura abaixo demonstra a configuração de um bloco de servidor dedicado para servir arquivos estáticos e encaminhar requisições de API para um serviço remoto:

worker_processes  2;

events {
    worker_connections  2048;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  120;

    server {
        listen       80;
        server_name  localhost;

        # Encaminhamento de chamadas para o microsserviço backend
        location /backend/api/ {
            proxy_pass http://192.168.10.50:8800;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }

        # Exposição da interface estática
        location / {
            root   client_assets;
            index  index.html;
            try_files $uri $uri/ /index.html;
            add_header Cache-Control "no-cache, no-store, must-revalidate";
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

Gestão do Ciclo de Vida do Serviço

Para aplicar as modificações sem interromper requisições ativas, envie um sinal de recarregamento:

nginx.exe -s reload

Caso necessite de um encerramento imediato do daemon:

nginx.exe -s stop

Se o processo permanecer em estado zombie, utilize o utilitário nativo para forçar a finalização:

taskkill /F /IM nginx.exe

Observação Crítica sobre proxy_pass

A sintaxe da diretiva de proxy é estritamente sensível à barra final (/). Definir o destino sem a barra (http://ip:porta) preserva o caminho original na requisição encaminhada. Incluir a barra ao final (http://ip:porta/) instrui o servidor a substituir o prefixo configurado pela raiz do backend, comportamento que frequentemente desencadeia redirecionamentos HTTP 302 ou falhas de resolução de rotas em aplicações modernas.

Tags: nginx-configuracao reverso-proxy implantacao-web servidor-estatico gerenciamento-processos-windows

Publicado em 10-1 11:41