我看过无数关于如何使用NSSM (http://nssm.cc/) 启动NodeJS进程的文章。
那么,我有以下简单的NodeJS文件:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<p>Hello World</p>');
}).listen(8000);
console.log('Server running on http://localhost:8000/');
我正在使用以下命令将NodeJS文件安装为Windows服务:
"C:\Program Files\SimpleNode\nssm.exe" install SimpleNode "C:\Program Files\SimpleNode\node.exe" "C:\Program Files\SimpleNode\simple.js"
服务已安装。当我启动它时,出现错误消息,服务处于暂停状态,并且在事件查看器中看到以下错误:
GetProcessTimes() failed: The handle is invalid.
这应该很简单。我已尝试使用具有本地管理员权限的域帐户。我尝试了几个不同的端口号。当我从命令行启动应用程序时,它确实可以正常工作。
更多备注: 这在64位Windows 2008 R2服务器上运行。我确保我运行了NSSM和Node的所有64位可执行文件。我还尝试过使用32位可执行文件。
有人能告诉我我漏掉了什么吗?有其他人可以复制此问题吗?