nginx Datasheet – Comandos básicos do nginx

Categorias: nginx

Baixar Datasheet

Faça o Download deste Datasheet para seu computador

Criei esse artigo e o datasheet utilizando IA para sumarizar os principais comandos necessários para rodar o ngnix no dia a dia.

Principais comandos do Nginx para instalação, validação e operação diária

Nginx é um servidor web e proxy reverso de alto desempenho, amplamente usado para servir sites, terminar SSL, balancear tráfego e publicar aplicações PHP, Node.js e outras stacks. O datasheet enviado organiza exatamente os comandos mais úteis para instalação, inspeção, gestão do serviço, arquivos de configuração, logs e sinais operacionais.

Na prática, quem administra servidor Linux com sites, APIs ou aplicações internas acaba recorrendo sempre ao mesmo conjunto de comandos: verificar versão, validar sintaxe, reiniciar ou recarregar o serviço, acompanhar logs e confirmar se as portas estão realmente em uso. É esse núcleo operacional que o material resume.

Verificações iniciais do Nginx

Antes de mudar qualquer configuração, o primeiro passo deve ser confirmar a instalação, descobrir a versão em uso e validar a sintaxe atual.

Ver versão instalada

nginx -v

Esse comando retorna a versão instalada do Nginx. É a forma mais rápida de confirmar se o binário está presente e qual release está rodando no servidor.

Ver versão e módulos de compilação

nginx -V

Aqui o foco já não é só a versão. Esse comando também mostra parâmetros de compilação e módulos embutidos, o que é útil quando você precisa confirmar suporte a SSL, stream, módulos dinâmicos ou caminhos internos do build.

Testar sintaxe da configuração

nginx -t

Esse talvez seja o comando mais importante de todos no dia a dia. Antes de qualquer reload ou restart, a sintaxe deve ser validada. Isso reduz o risco de derrubar um serviço por erro simples em arquivo de configuração. O próprio datasheet reforça essa prática no rodapé.

Testar um arquivo específico

nginx -t -c /etc/nginx/nginx.conf

Quando você precisa validar explicitamente um arquivo ou trabalhar com caminho customizado, essa opção resolve. É útil em ambientes com múltiplos contextos de teste ou automações.

Exibir configuração expandida

nginx -T

Mostra a configuração completa carregada pelo Nginx, incluindo arquivos incluídos. Isso ajuda bastante em troubleshooting, especialmente quando há vários include, virtual hosts separados ou arquivos espalhados entre sites-available e sites-enabled.

Descobrir o caminho do binário

which nginx

Serve para localizar o executável no sistema. Em servidores com instalações manuais, múltiplas versões ou troubleshooting de PATH, isso economiza tempo.

Gestão do serviço no systemd

Em distribuições modernas, o Nginx normalmente é gerenciado pelo systemd. Isso concentra o controle do serviço em um conjunto simples de comandos.

Iniciar o serviço

sudo systemctl start nginx

Usado quando o serviço está parado e precisa ser iniciado manualmente.

Parar o serviço

sudo systemctl stop nginx

Interrompe o Nginx por completo. Deve ser usado com cautela em produção.

Reiniciar o serviço

sudo systemctl restart nginx

Faz uma parada e subida completa do processo. É útil, mas mais agressivo que um reload, porque pode derrubar conexões em andamento dependendo do cenário.

Recarregar sem derrubar conexões

sudo systemctl reload nginx

Esse é o comando preferido quando a alteração é apenas de configuração e a sintaxe já foi validada. Ele reaplica as mudanças sem o impacto de um restart completo.

Ver status atual

sudo systemctl status nginx

Retorna o estado do serviço, PID, últimos logs e indicação de falha ou sucesso. É um comando de diagnóstico básico e obrigatório em qualquer troubleshooting.

Habilitar no boot

sudo systemctl enable nginx

Configura o serviço para iniciar automaticamente junto com o sistema operacional.

Desabilitar no boot

sudo systemctl disable nginx

Remove a inicialização automática. Pode ser útil em cenários de laboratório, contingência ou migração.

Estrutura de arquivos de configuração

Em ambientes Debian e Ubuntu, a organização mais comum do Nginx gira em torno de nginx.conf, sites-available e sites-enabled.

Arquivo principal

/etc/nginx/nginx.conf

É o arquivo central de configuração. Normalmente define comportamento global, includes e parâmetros base do serviço.

Sites disponíveis

/etc/nginx/sites-available/

Diretório onde ficam os arquivos de configuração dos sites ou aplicações, ainda não necessariamente ativos.

Sites habilitados

/etc/nginx/sites-enabled/

Diretório que normalmente contém links simbólicos para os sites efetivamente carregados pelo Nginx.

Criar atalho simbólico do site

sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/

Fluxo clássico para habilitar um site sem duplicar arquivo. Você mantém a configuração principal em sites-available e publica por link simbólico em sites-enabled.

Remover atalho simbólico

sudo rm /etc/nginx/sites-enabled/app

Desabilita um site removendo o link, sem apagar o arquivo original.

Validar e recarregar após mudança

sudo nginx -t && sudo systemctl reload nginx

Esse é um fluxo correto e seguro: primeiro validar a sintaxe, depois recarregar o serviço. É uma das sequências mais úteis do material.

Logs e depuração rápida

Boa parte do suporte em Nginx se resolve com acesso correto aos logs e verificação local da resposta HTTP.

Acompanhar access log

sudo tail -f /var/log/nginx/access.log

Permite acompanhar requisições chegando em tempo real. Útil para confirmar tráfego, testar rotas, identificar IPs e validar comportamento de upstreams ou proxies.

Acompanhar error log

sudo tail -f /var/log/nginx/error.log

Esse costuma ser o log mais importante quando algo falha. Ali aparecem erros de sintaxe carregada, permissões, upstream indisponível, socket ausente, certificado inválido e outros problemas operacionais.

Ver logs do serviço via journal

sudo journalctl -u nginx

Mostra o histórico do serviço no systemd journal. Bom para falhas de boot, tentativas de reload e mensagens que não apareceram claramente nos arquivos tradicionais.

Seguir logs em tempo real pelo journal

sudo journalctl -u nginx -f

Mesma ideia, mas em modo contínuo. Ajuda em testes ao vivo, especialmente depois de restart ou reload.

Listar portas 80 e 443 em uso

sudo ss -ltnp | grep -E ':80|:443'

Mostra se HTTP e HTTPS estão realmente bindados e qual processo está ocupando essas portas. Isso é útil quando há conflito com Apache, outro Nginx, container ou processo legado.

Testar resposta HTTP local

curl -I http://localhost

Faz uma checagem rápida da resposta do servidor local. É uma forma objetiva de confirmar se o Nginx está respondendo sem depender de DNS externo ou navegador.

Sinais diretos do Nginx

Além do systemctl, o Nginx também aceita sinais enviados diretamente ao processo principal.

Recarregar configuração via sinal

sudo nginx -s reload

Reaplica a configuração já carregada pelo binário. Funciona como alternativa ao systemctl reload nginx.

Fechar elegantemente

sudo nginx -s quit

Encerra o processo de forma ordenada, permitindo finalização mais limpa das operações.

Encerrar imediatamente

sudo nginx -s stop

Interrompe o Nginx de forma imediata. Deve ser reservado para casos específicos.

Reabrir arquivos de log

sudo nginx -s reopen

Útil em rotinas de rotação de logs. Permite que o Nginx reabra os arquivos sem reinicialização completa.

Um fluxo mínimo de administração

No uso real, a sequência mais comum costuma ser esta:

  1. editar o arquivo do site em sites-available

  2. validar com nginx -t

  3. recarregar com systemctl reload nginx

  4. testar localmente com curl -I http://localhost

  5. acompanhar error.log e access.log se algo não responder como esperado

Esse fluxo simples cobre grande parte das operações rotineiras em publicação de sites, APIs e proxies reversos.

Categorias