Ir para o conteúdo
Ajuda

Como ver e gerenciar serviços na VPS via SSH

No terminal da VPS, use systemctl status para ver se um serviço está rodando, systemctl restart para reiniciar e systemctl enable para ligar junto com a VPS. Para ver os logs de um serviço, use journalctl -u.

4 min de leitura

Os programas que ficam rodando na VPS, como o servidor web e o banco de dados, são serviços. Você cuida deles com o systemctl: status para ver como estão, restart para reiniciar e enable para ligarem sozinhos com a VPS. Os logs de cada serviço saem com journalctl -u.

Antes de começar

  • Acesse a VPS por SSH. Se ainda não sabe como, veja "Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)".
  • Os comandos funcionam no Ubuntu e no Debian, os sistemas das VPS da StayCloud.
  • Os exemplos supõem que você entrou como root. Com outro usuário, coloque sudo na frente de cada comando.
  • Tenha o nome do serviço. Os exemplos usam o nginx; troque pelo seu, como apache2, mysql, mariadb, docker ou ssh.

Ver os serviços da VPS

  1. Liste os serviços que estão rodando:
    systemctl list-units --type=service --state=running
    
    Resultado: aparece a lista dos serviços ativos, um por linha, com o nome terminado em .service. Aperte q para sair da lista.
  2. Liste os serviços que falharam:
    systemctl --failed
    
    Resultado: aparece a lista dos serviços com erro, ou 0 loaded units listed se nenhum falhou.

Ver o status de um serviço

  1. Rode:
    systemctl status nginx
    
    Resultado: aparece um resumo do serviço. A linha Active: diz o estado: active (running) quer dizer que está rodando; inactive (dead), que está parado; failed, que deu erro. Embaixo, aparecem as últimas linhas do log.
  2. Aperte q para sair.Resultado: o prompt da VPS volta.

Iniciar, parar e reiniciar

Cada comando é rodado sozinho, quando você precisar:

  1. Para iniciar um serviço parado:
    systemctl start nginx
    
    Resultado: o comando não mostra nada quando dá certo.
  2. Para reiniciar um serviço (por exemplo, depois de mudar a configuração):
    systemctl restart nginx
    
    Resultado: o serviço para e liga de novo. Durante alguns segundos, ele fica fora do ar.
  3. Para recarregar a configuração sem derrubar o serviço, quando ele aceita:
    systemctl reload nginx
    
    Resultado: a configuração nova passa a valer sem interromper quem está usando. Se o serviço não aceitar, aparece um erro e você pode usar o restart.
  4. Para parar um serviço:
    systemctl stop nginx
    
    Resultado: o serviço para e fica fora do ar até ser iniciado de novo.

Cuidado com o serviço ssh: se você parar ou quebrar a configuração dele, perde o acesso pelo terminal. Nesse caso, entre pelo Console SSH do painel.

Ligar o serviço junto com a VPS

  1. Para o serviço ligar sozinho sempre que a VPS reiniciar:
    systemctl enable nginx
    
    Resultado: aparece uma linha como Created symlink ..., ou nada, se ele já estava habilitado.
  2. Para conferir:
    systemctl is-enabled nginx
    
    Resultado: aparece enabled. Para tirar o serviço da inicialização, use systemctl disable nginx.

Ver os logs de um serviço

  1. Veja as últimas 50 linhas do log:
    journalctl -u nginx -n 50
    
    Resultado: aparecem as mensagens mais recentes do serviço, com data e hora.
  2. Veja só o que aconteceu na última hora:
    journalctl -u nginx --since "1 hour ago"
    
    Resultado: aparecem as mensagens do período.
  3. Acompanhe o log ao vivo:
    journalctl -u nginx -f
    
    Resultado: as linhas novas aparecem conforme acontecem. Aperte Ctrl + C para parar.

Alguns programas também gravam logs em arquivos próprios, em /var/log. O nginx, por exemplo, usa /var/log/nginx/error.log.

Como saber se deu certo

Rode systemctl status nginx e confira a linha Active: active (running). Para saber se ele volta sozinho depois de um reinício, systemctl is-enabled nginx deve mostrar enabled.

Se algo der errado

"Unit nginx.service could not be found."

Causa: o nome do serviço está errado ou o programa não está instalado. Solução: confira o nome na lista de systemctl list-units --type=service. No Ubuntu e no Debian, o Apache se chama apache2.

"Job for nginx.service failed because the control process exited with error code."

Causa: o serviço não conseguiu iniciar, quase sempre por erro na configuração ou porta já em uso. Solução: veja o motivo com journalctl -u nginx -n 50. No nginx, teste a configuração com nginx -t antes de reiniciar.

O serviço para sozinho de vez em quando

Causa: pode ser falta de memória: o sistema encerra processos quando a RAM acaba. Solução: veja o consumo com free -h e o top. Se a memória está sempre no limite, aumente o plano da VPS.

Relacionados

  • Como ver o consumo de CPU, memória e disco da VPS via SSH
  • Como instalar programas na VPS via SSH
  • Como reiniciar sua VPS pelo painel
  • Como acessar sua VPS pelo Console SSH do painel
  • Comandos básicos de Linux para usar na sua VPS via SSH
Este artigo ajudou?

Viu algo errado ou desatualizado?