Impossible d'initialiser le server WebSocket basé sur NodeJS en tant que service sur Windows Server 2012

Un noeud de base.js La mise en œuvre d'un server de messagerie Web s'exécute bien lorsque démarré via la command line ou le gestionnaire de tâches planifié.

Toutefois, après avoir été installé en service via nssm, il refuse de lancer avec l'exception suivante:

Windows n'a pas pu démarrer le service … sur l'ordinateur local. Le service n'a pas renvoyé d'erreur. Cela pourrait être une erreur interne de Windows ou une erreur de service interne.

Le logiciel n'utilise ni les disques réseau mappés, ni l'access au registre, ce qui implique implicitement les raisons de ce comportement dans cette question SO . J'ai tracé le problème pour être enraciné dans le composant du server websocket, commenter cela permet de gérer le service très bien.

En outre, la procédure fonctionne bien lorsque vous utilisez des environnements Windows 7 et Windows 10.

Quand je me trompe en pensant que ces questions devraient être adressées à la communauté serverfault, n'hésitez pas à la déplacer vers un superuser.

Mettre à jour:

Voici l'élément de code référencé:

Instantiation:

let WebSocket = require('ws'); this.server = new WebSocket.Server({ port: this.port }); 

Il s'agit d'un appel à la bibliothèque js disponible sur https://github.com/websockets/ws

Drôle, votre code ne me pose aucun problème lorsque je remplace this.port avec un integer. Sinon, il renvoie la même erreur, car l'application renvoie évidemment une exception TypeError. Vous dites que votre code fonctionne bien à partir de la command line, mais quelque chose est étrange.

Pour en savoir plus, nous devons connaître la configuration NSSM en détail. C'est ma configuration de travail:

entrez la description de l'image ici

Pour déboguer davantage votre problème, activez la journalisation et examinez les files journaux. Je soupçonne fortement que votre application jette une exception quelque part.

entrez la description de l'image ici