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:
-
editar o arquivo do site em
sites-available -
validar com
nginx -t -
recarregar com
systemctl reload nginx -
testar localmente com
curl -I http://localhost -
acompanhar
error.logeaccess.logse 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.
