Я видел множество статей о том, как использовать 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" установить SimpleNode "C:\Program Files\SimpleNode\ node.exe" "C:\Program Files\SimpleNode\simple.js"
Служба установлена. Когда я начинаю, я получаю сообщение об ошибке, службы находятся в состоянии Paused, и я вижу следующую ошибку в средстве просмотра событий:
Ошибка GetProcessTimes(): дескриптор недействителен.
Это должно быть довольно просто. Я попытался использовать учетную запись домена с правами локального администратора. Я попробовал пару различных номеров портов. Приложение работает правильно, когда я запускаю его из командной строки.
БОЛЬШЕ ПРИМЕЧАНИЙ: Это выполняется на 64-битном сервере Windows 2008 R2. Я убедился, что я запускаю все 64-разрядные исполняемые файлы для NSSM и Node. Я также попытался использовать 32-разрядные исполняемые файлы для обоих.
Может ли кто-нибудь сказать мне, что мне не хватает? Может ли кто-то еще повторить эту проблему?