🚀 Por que transformar seu projeto Node.js em um **serviço do Windows**
Manter um projeto rodando 24/7 pode ser um desafio, mas configurar seu app (por exemplo, um frontend com Vite) como serviço usando NSSM resolve isso de forma simples e confiável.
✅ Benefícios
- Início automático com o Windows — sem precisar abrir terminal manualmente
- Alta disponibilidade — reinicia sozinho caso o processo caia
- Execução em segundo plano — não ocupa janelas ou interface
- Acessível na rede — perfeito para times que precisam acessar o app remotamente
- Gerenciamento simples — start/stop via
services.mscou linha de comando
🔍 Prós e Contras
| 👍 Prós | 👎 Contras |
|---|---|
| Automação total do processo de inicialização | Precisa de permissões de admin para instalar |
| Estabilidade (reinicia sozinho em caso de falha) | Passo inicial de configuração pode ser mais técnico |
| Não precisa deixar terminal aberto | Logs devem ser configurados manualmente |
| Fácil de remover ou alterar | Depende de ferramentas externas como o NSSM |
💡 Dica: Ideal para quem precisa manter projetos Node.js sempre ativos, sem depender de login no servidor ou abertura manual de terminais.
Então....
📘 Como executar um projeto Node.js como serviço no Windows com NSSM
Este guia mostra como configurar um projeto Node.js (como um frontend com Vite) para iniciar automaticamente como serviço do Windows, usando o NSSM (Non-Sucking Service Manager).
🧾 Pré-requisitos
Antes de começar, verifique se você tem:
- Node.js e NPM instalados
- Projeto com
npm run devounpx viteconfigurado - Permissões de administrador no Windows
- Acesso à pasta do projeto (local ou via rede)
1. 📝 Crie um arquivo .bat para iniciar o projeto
Crie um arquivo chamado start-project.bat no diretório do seu projeto com o seguinte conteúdo:
@echo off
cd /d C:\caminho\para\seu-projeto
npx vite --port=3050 --host
💡 Dica: Altere o caminho do
cde o comando conforme necessário. Pode sernpm run preview,npm run dev, etc.
📋 Adicionar logs (Opcional)
Se quiser registrar os logs do servidor:
@echo off
cd /d C:\caminho\para\seu-projeto
npx vite --port=3050 --host >> log.txt 2>&1
2. 📦 Baixe e extraia o NSSM
- Acesse: https://nssm.cc/download
- Baixe a versão mais recente (ex:
nssm-2.24.zip) - Extraia o conteúdo para uma pasta, como:
C:\nssm - Dentro da pasta, localize
nssm.exeem:win64\nssm.exe(se seu Windows for 64-bit)
3. 🛠️ Instale o serviço com NSSM
Abra o Prompt de Comando ou PowerShell como administrador e execute:
C:\nssm\win64\nssm.exe install MeuProjetoServico
Na janela que abrir, configure:
| Campo | Valor |
|---|---|
| Path | C:\caminho\para\start-project.bat |
| Startup directory | C:\caminho\para |
| Arguments | (Deixe em branco, pois já está tudo no .bat) |
4. 🔐 Configure permissões de rede (se necessário)
Se o projeto estiver em uma pasta de rede:
- Vá até a aba "Log on" no NSSM
- Marque a opção "This account"
- Preencha com um usuário que tenha acesso à pasta e permissões adequadas
5. ▶️ Inicie o serviço
Após instalar, você pode iniciar o serviço com:
net start MeuProjetoServico
🖥️ Ou via interface gráfica:
- Pressione
Win + R - Digite
services.msc - Localize o nome do serviço
- Clique com o botão direito > Iniciar
🔁 Manter o projeto reiniciando automaticamente (Opcional)
Se quiser que o serviço reinicie caso o servidor caia, modifique o .bat assim:
@echo off
cd /d C:\caminho\para\seu-projeto
:RESTART
echo [Iniciando servidor...]
npx vite --port=3050 --host
echo [Servidor caiu. Reiniciando em 5 segundos...]
timeout /t 5 > nul
goto RESTART
❌ Como remover o serviço
Via linha de comando:
nssm remove MeuProjetoServico confirm
Ou via interface NSSM:
nssm remove MeuProjetoServico
⚠️ Atenção: Confirme a exclusão na janela que aparecer.
✅ Pronto!
Seu projeto agora está rodando como um serviço do Windows, pronto para iniciar automaticamente com o sistema, mesmo sem login manual.
🎯 Benefícios:
- ✅ Inicia automaticamente com o Windows
- ✅ Reinicia automaticamente se falhar
- ✅ Roda em background sem interface
- ✅ Pode ser acessado por outros usuários da rede
- ✅ Fácil de gerenciar via Services Manager
Este guia foi criado para facilitar a configuração de projetos Node.js como serviços no Windows. Para mais informações, consulte a documentação oficial do NSSM.