Servidor & DevOps 32 visualizações

Como configurar systemd para manter uma aplicação Node.js/Python sempre no ar no VPS

Ver no WHMCS

Como configurar systemd para manter sua aplicação Node.js ou Python sempre no ar no VPS da GeHost

Olá, querido(a) desenvolvedor(a)! Seja bem-vindo(a) ao seu novo passo rumo à estabilidade e confiança no seu projeto. Aqui, na GeHost, acreditamos que sua aplicação deve estar sempre acessível — e o systemd é o seu aliado perfeito para isso. Vamos juntos aprender, com calma e clareza, como configurar isso no seu VPS, mesmo que você esteja começando agora.

O que é systemd?

Imaginemos o systemd como um gerente de tarefas no seu servidor. Ele cuida de garantir que seus programas (como uma aplicação Node.js ou Python) estejam sempre rodando, mesmo que parem por acidente. Se cair, ele reinicia automaticamente. É como ter um funcionário que nunca dorme!

Dica do Sensei: O systemd é padrão em sistemas Linux modernos — e seu VPS da GeHost já vem com ele instalado. Você só precisa configurar.

Pré-requisitos

  • Você precisa de acesso ao servidor via SSH (terminal).
  • Seu plano de hospedagem inclui acesso ao terminal (não é VPS com acesso root? Consulte seu plano no painel do cliente).
  • Sua aplicação já está pronta e testada localmente.

Passo a passo: Configurando systemd para sua aplicação

  1. Conecte-se ao servidor via SSH
    Use um cliente como Putty (Windows) ou o terminal do Linux/macOS. Acesse seu servidor com o comando:
    ssh usuario@seu-servidor-ip
    (Substitua "usuario" e "seu-servidor-ip" pelos dados do seu VPS — verifique no painel da GeHost.)
  2. Crie um arquivo de serviço systemd
    Vamos criar um arquivo que definirá como seu programa deve ser iniciado. No terminal, digite:
    sudo nano /etc/systemd/system/meu-servico.service
    Esse nome pode ser qualquer um — por exemplo, node-app.service ou python-api.service. Vamos usar meu-servico.service como exemplo.
  3. Insira as configurações do serviço
    Copie e cole o conteúdo abaixo no arquivo. Ajuste conforme seu caso:

    [Unit]
    Description=Minha Aplicação Node.js/Python
    After=network.target
    
    [Service]
    Type=simple
    User=seu-usuario
    WorkingDirectory=/caminho/para/seu/projeto
    ExecStart=/caminho/para/o/executavel
    Restart=always
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
        

    Explicando:

    • Description — nome descritivo do serviço.
    • User — substitua por seu usuário do sistema (veja no painel da GeHost).
    • WorkingDirectory — caminho onde está seu projeto (ex: /home/seu-usuario/projeto).
    • ExecStart — caminho para o comando que inicia sua aplicação. Ex: node app.js ou python app.py.
    • Restart=always — garante que o serviço reinicie sempre que parar.
    • RestartSec=10 — espera 10 segundos antes de reiniciar (evita loop infinito).
  4. Salve e feche o arquivo
    No Nano (editor de texto), pressione Ctrl + X, depois Y para salvar, e Enter para confirmar.
  5. Carregue o novo serviço
    Execute este comando para que o systemd reconheça o novo serviço:
    sudo systemctl daemon-reload
  6. Inicie o serviço
    Agora, ative e inicie sua aplicação:
    sudo systemctl start meu-servico.service
  7. Verifique se está rodando
    Confira o status com:
    sudo systemctl status meu-servico.service
    Se aparecer "active (running)", parabéns! Sua aplicação está no ar.
  8. Ative o serviço para iniciar automaticamente no boot
    Para garantir que sua aplicação volte ao ar após reiniciar o servidor:
    sudo systemctl enable meu-servico.service

Como monitorar e manter o serviço

Se precisar verificar o log da sua aplicação, use:

sudo journalctl -u meu-servico.service -f

Isso mostra os logs em tempo real — ótimo para depurar erros.

Para parar o serviço (por exemplo, para atualizar), use:

sudo systemctl stop meu-servico.service

Dica do Sensei: Se algo der errado, verifique o caminho do arquivo, o nome do usuário e o comando de execução. Use ls e pwd no terminal para confirmar o caminho.

Pronto! Sua aplicação está sempre no ar

Com esse pequeno passo, você transformou seu servidor em um ambiente estável e confiável. O systemd cuida do resto — mesmo que sua aplicação pare, ele a traz de volta. Isso é o que chamamos de resiliência: o poder de se recuperar sozinho.

Se tiver dúvidas, não hesite em entrar em contato com nosso suporte. Estamos aqui para ajudar, com um sorriso e um café na mão.

Até a próxima, desenvolvedor(a) — e lembre-se: o código é arte, e o servidor é o palco.

Tela de login do cPanel com campos de usuário e senha
Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.