无法在Windows Server 2012上将基于NodeJS的WebSocket服务器初始化为服务

一个基本的node.js websocket服务器的实现像通过命令行或计划任务pipe理器启动时一样运行良好。

但是,在使用nssm作为服务安装之后,它拒绝启动,但出现以下exception:

Windows无法启动服务…在本地计算机上。 该服务没有返回错误。 这可能是内部Windows错误或内部服务错误。

该软件不使用映射的networking驱动器,也不访问registry,在这个SO问题中 ,这两者都暗示了这种行为的可能原因。 我已经将问题追溯到websocket服务器组件中,注释掉它使得服务运行得很好。

另外,当在Windows 7和Windows 10环境中使用时,该过程可以正常工作。

当我错误地认为这个问题应该发送到服务器故障社区,随意将其移动到超级用户。

更新:

以下是引用的代码元素:

实例:

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

这是对https://github.com/websockets/ws上提供的js库的调用

有趣的是,当我用一个整数replacethis.port时,你的代码不会给我带来任何问题。 否则,它会返回相同的错误,因为应用程序明显返回TypeErrorexception。 你说你的代码从命令行运行正常,但有些奇怪。

再说一遍,我们需要详细了解NSSMconfiguration。 这是我的工作configuration:

在这里输入图像说明

要进一步debugging您的问题,请启用日志logging并查看日志文件。 我强烈怀疑你的应用程序在某处引发exception。

在这里输入图像说明