He descargado el ejecutable node.js. ¿Cómo puedo ejecutar ese ejecutable como servicio de Windows? No puedo usar el instalador estándar node.js, ya que necesito ejecutar varias versiones de node.js simultáneamente.
node.js
windows-services
TENNESSE.
fuente
fuente
Lo encontré tan útil que construí un envoltorio aún más fácil de usar ( npm , github ).
Instalarlo:
Instalando su servicio:
Desinstalar su servicio:
fuente
WinSer es un contenedor amigable de node.js alrededor del popular NSSM (Non-Sucking Service Manager)
fuente
De este blog
fuente
No estoy abordando la pregunta directamente, sino brindando una alternativa que también podría cumplir con sus requisitos de una manera más node.js.
Funcionalmente los requisitos son:
Estos requisitos pueden satisfacerse utilizando un administrador de procesos (PM) y haciendo que el administrador de procesos se inicie al iniciar el sistema. Dos buenos PM que son compatibles con Windows son:
Para que el PM se inicie automáticamente, la forma más simple es crear una tarea programada con un activador "Al inicio":
fuente
pm2
utilizar un script por lotes al inicio, asegúrese de incluir las variables de entorno o no funcionará. Discutido aquí: github.com/Unitech/pm2/issues/1079El enfoque de administrador de procesos + planificador de tareas que publiqué hace un año funciona bien con algunas instalaciones de servicio únicas. Pero recientemente comencé a diseñar un sistema de microservicio, con muchos servicios pequeños que se comunican entre sí a través de IPC. Por lo tanto, configurar manualmente cada servicio se ha vuelto insoportable.
Con el objetivo de instalar servicios sin configuración manual, creé serman , una herramienta de línea de comandos (instalar con
npm i -g serman
) para instalar un ejecutable como servicio. Todo lo que necesita escribir (y solo escribir una vez) es un archivo de configuración de servicio simple junto con su ejecutable. correrinstalará el servicio
stdout
ystderr
están todos registrados. Para obtener más información, consulte el sitio web del proyecto .Un archivo de configuración de trabajo es muy simple, como se demuestra a continuación. Pero también tiene muchas características útiles como
<env>
y a<persistent_env>
continuación.fuente