Se você desenvolve aplicações ou mantém servidores Linux no ar, dominar os comandos certos no terminal pode economizar muito tempo e dor de cabeça. No Ubuntu um dos sistemas operacionais mais populares para desenvolvimento há ferramentas poderosas que facilitam o controle e o monitoramento de serviços, pacotes e recursos do sistema.
Neste artigo, vamos explorar o systemctl
(para gerenciar serviços) e outros comandos indispensáveis para manter um servidor Ubuntu saudável, atualizado e seguro.
🔧 systemctl: Seu painel de controle para serviços no Ubuntu
O systemctl
é como o “painel de controle” dos serviços no Linux que usam o systemd
(o sistema de inicialização padrão na maioria das distros modernas, incluindo o Ubuntu). Com ele, você pode iniciar, parar, reiniciar, ativar ou desativar qualquer serviço no seu sistema como MongoDB, NGINX, MySQL, Redis, entre outros.
📌 Comandos essenciais do systemclt:
Abra o terminal e digite:
sudo systemctl status nome-do-serviço # Verifica o status atual
sudo systemctl start nome-do-serviço # Inicia o serviço
sudo systemctl stop nome-do-serviço # Para o serviço
sudo systemctl restart nome-do-serviço # Reinicia o serviço
sudo systemctl enable nome-do-serviço # Ativa para iniciar no boot
sudo systemctl disable nome-do-serviço # Desativa no boot
🔍 Exemplo prático:
sudo systemctl restart nginx # Reiniciar o servidor nginx
Esse comando reinicia o servidor web NGINX, aplicando mudanças feitas no arquivo de configuração sem precisar reiniciar a máquina.
📜 journalctl: Acompanhe os logs em tempo real
Quer entender por que um serviço falhou? Ou ver o que aconteceu antes de um crash? O journalctl
é seu aliado para inspecionar os logs do systemd.
📌 Exemplos úteis:
journalctl # Mostra todos os logs do sistema
journalctl -u nginx # Logs específicos do serviço nginx
journalctl -f -u mongod # "Segue" os logs em tempo real (como tail -f)
💡 Dica: use CTRL + C
para sair da visualização ao vivo.
📦 apt: O gerenciador de pacotes que todo dev precisa conhecer
Manter seu servidor atualizado e instalar ferramentas novas é tarefa para o apt
.
📌 Comandos do dia a dia:
sudo apt update # Atualiza a lista de pacotes
sudo apt upgrade # Instala atualizações disponíveis
sudo apt install nome-do-pacote # Instala novos pacotes
sudo apt remove nome-do-pacote # Remove pacotes que não usa mais
🔍 Exemplo:
sudo apt install htop # instala interface de monitoramento de recursos htop
O htop
é uma versão mais visual e interativa do top
, usada para monitorar processos.
🌐 Comandos de Rede: entenda o que está rolando
Saber o que está acontecendo na rede do seu servidor é essencial, especialmente para ambientes web.
📌 Comandos úteis:
ip addr # Mostra IPs e interfaces de rede
ip route # Exibe as rotas de rede
ss -tuln # Lista portas abertas e serviços escutando
ping google.com # Testa a conectividade com a internet
💡 Substitua o netstat
antigo por ss
, que é mais rápido e moderno.
🔍 top e htop: veja o que está consumindo CPU e memória
Se algo está lento, a culpa pode estar em um processo com fome de CPU ou RAM.
📌 Use:
top # Interface simples para monitoramento
htop # (se instalado) interface visual interativa
Com o htop
, você pode navegar com o teclado, matar processos e visualizar o consumo por núcleo. É uma ferramenta indispensável para diagnóstico rápido.
🛡️ ufw: Firewall descomplicado no Ubuntu
O ufw
(Uncomplicated Firewall) é perfeito para bloquear ou liberar portas sem complicação.
📌 Exemplos práticos:
sudo ufw enable # Ativa o firewall
sudo ufw allow 22 # Libera a porta 22 (SSH)
sudo ufw allow 80,443/tcp # Libera HTTP e HTTPS
sudo ufw status # Exibe regras ativas
💡 Importante para servidores remoto: Lembre-se de liberar a porta 22 antes de ativar o firewall, ou pode se trancar fora via SSH!
🧪 Comandos prontos para serviços populares
# MongoDB
sudo systemctl status mongod
sudo systemctl restart mongod
# MySQL
sudo systemctl restart mysql
# NGINX
sudo systemctl restart nginx
Esses são os comandos que você mais vai digitar em um ambiente de desenvolvimento web moderno.
🧠 Extra: Automatize tarefas comuns com Shell Script
Você pode criar um pequeno script .sh
para atualizar o sistema ou reiniciar serviços de forma automatizada.
Exemplo: atualizar.sh
#!/bin/bash
echo "Atualizando o sistema e reiniciando serviços essenciais..."
sudo apt update && sudo apt upgrade -y
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
Torne o script executável:
chmod +x atualizar.sh
Execute com:
./atualizar.sh
Concluímos entao que...
Dominar ferramentas como systemctl
, apt
, ufw
e journalctl
transforma você em um desenvolvedor ou administrador mais eficiente e autônomo. Ter esse conhecimento é especialmente valioso quando se trabalha com servidores de staging, produção ou até em containers e VPSs.
Se você gerencia aplicações web, APIs ou bancos de dados no Ubuntu, esses comandos são o básico essencial para não depender sempre de alguém do DevOps.
Mas caso você necessite de ajuda, fique a vontade para entrar em contato com a Forcoder!