Node.js作为服务运行不工作。它只是开始然后停止

Node.js作为服务运行不工作。它只是开始然后停止,node.js,service,Node.js,Service,正在尝试将Node.js作为Windows服务运行。我使用了nssm.exe创建服务,它启动后立即停止 错误-“无法在本地计算机上恢复ListenerNodeJS服务。该服务未返回错误。这可能是Windows内部错误或内部服务错误。如果问题仍然存在,请与系统管理员联系。” 我也尝试过使用srvstart,但这一次的错误是“服务已经启动并停止。如果没有工作要做,一些服务会自动停止”(等等) 下面是listener.js(我希望作为服务运行的javascript)的内容 我不得不不使用程序文件作为n

正在尝试将Node.js作为Windows服务运行。我使用了nssm.exe创建服务,它启动后立即停止

错误-“无法在本地计算机上恢复ListenerNodeJS服务。该服务未返回错误。这可能是Windows内部错误或内部服务错误。如果问题仍然存在,请与系统管理员联系。”

我也尝试过使用srvstart,但这一次的错误是“服务已经启动并停止。如果没有工作要做,一些服务会自动停止”(等等)

下面是listener.js(我希望作为服务运行的javascript)的内容

我不得不不使用程序文件作为nodejs.exe的位置。我只是简单地将nodejs目录复制到另一个位置(C:\nodejs)来解决文件目录写入问题,我必须使用真实的磁盘盘符,而不是映射驱动器。将它映射到服务是没有意义的,因此我使用真正的驱动器号


我成功地使用nssm添加了服务。然而,代码在作为服务运行时似乎不会创建目录。它将仅作为命令行运行。已解决。我不得不不使用程序文件作为nodejs.exe的位置。我只是简单地将nodejs目录复制到另一个位置(C:\nodejs)来解决文件目录写入问题,我必须使用真实的磁盘盘符,而不是映射驱动器。将它映射到服务是没有意义的,因此我使用真正的驱动器号。
///////////////////////////////////////////////
// get the querystring
//////////////////////////////////////////////
var http = require("http"), querystring = require("querystring");
var dirName="";
var pathName="v:/Opportunities/";

http.createServer(function(req, res) {

    //parse everything after the "?" into key/value pairs
var qs = querystring.parse(req.url.split("?")[1]), 
        dirName =pathName + qs.dirName;
        html = "" + "Directory to write " + dirName;
        res.end(html);
        createDir(dirName);
        }).listen(1337, '0.0.0.0');

///////////////////////////////////////////////
// function: createDir  Creates a directory from the querystring
///////////////////////////////////////////////

function createDir(d){
    var fs = require('fs');
    //see if the directory exists
    if (!(fs.existsSync(d)))    { 
            console.log("Directory does not exists. Creating directory...");
            fs.mkdir(d);
            ///create sub folders
            fs.mkdir(d+"/Drawings");
            fs.mkdir(d+"/Pictures");
            fs.mkdir(d+"/PO_Contracts");
            fs.mkdir(d+"/Proposals");
            fs.mkdir(d+"/Quotes");
            fs.mkdir(d+"/SOW");
            fs.mkdir(d+"/Vendor_Quotes");
        }
        else {
            console.log("Directory exists.");
        }
    }