sexta-feira, 27 de setembro de 2013

Instalar Node.js como serviço do Windows

Para instalar uma aplicação, rodando em Node.js, como um serviço do windows você pode utilizar o módulo WinSer.

Primeiro você deve instalar esse módulo no ambiente onde o interpretador do Node.js foi instalado, ou seja, na máquina onde a aplicação irá rodar.  Isso é feito através do Node Package Manager (npm). Abra o Prompt de Comando e digite:

 npm install winser -g

O próximo passo é criar o arquivo de configuração com as informações necessárias para a instalação do serviço.  Trata-se de um arquivo no formato JSON, localizado no diretório raiz da aplicação chamado package.json. Veja o exemplo abaixo:

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
              "start": "node app.js"
             }
}  

A propriedade name será o nome do serviço listado no painel do windows.  Já a propriedade scripts.start contém a linha de comando que será executada pelo serviço para subir a aplicação.  No exemplo a aplicação é app.js.

Por último, basta executar o winser no diretório raiz da aplicação (mesmo local do package.json) e então sua aplicação será instalada como serviço do windows.

winser -i (instalar)
winser -r (remover)

Atenção!! Para essa operação o Windows pode exibir direitos administrativos.  Certifique-se de estar logado com esses direitos.