使用 NSSM 将 NodeJs 进程作为 Windows 服务启动不起作用

2024-04-03

我看过无数关于如何使用 NSSM 的文章(http://nssm.cc/ 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”

该服务已安装。当我启动它时,我收到一条错误消息,服务处于暂停状态,并且我在事件查看器中看到以下错误:

GetProcessTimes() 失败:句柄无效。

这应该很简单。我尝试过使用具有本地管理员权限的域帐户。我尝试了几个不同的端口号。当我从命令行启动该应用程序时,它确实可以正常工作。

更多注意事项: 它在 64 位 Windows 2008 R2 服务器上运行。我已确保为 NSSM 和 Node.js 运行所有 64 位可执行文件。我还尝试过对两者使用 32 位可执行文件。

谁能告诉我我错过了什么?其他人可以复制这个问题吗?


发现问题了。

问题在于 simple.js 文件的路径中有一个空格(好旧的“程序文件”)。您必须使用反斜杠转义引号,NSSM 才能正确解释它。正确的安装命令行是:

“C:\Program Files\SimpleNode\nssm.exe”安装 SimpleNode “C:\Program Files\SimpleNode\node.exe”\“C:\Program Files\SimpleNode\simple.js\”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 NSSM 将 NodeJs 进程作为 Windows 服务启动不起作用 的相关文章

随机推荐

  • 更改 const 对象 - 没有警告?另外,什么情况下是UB?

    为什么下面的代码没有警告呢 int deserialize students const Student dest const int destCapacityMax FILE ptr file int i 0 ptr file fopen
  • 具有自定义模板的 STL 迭代器

    我有以下模板方法 template
  • 如何重定向到移动网站但保留主题标签?

    我希望拥有它 以便当用户加载我们的页面时 它会检查他们是否在移动设备上 然后将他们重定向到我们网站的移动版本 但保留原始哈希标签他们关注的链接 我尝试使用 javascript 中的哈希标签设置新位置 它在 Chrome 中工作 但在 Sa
  • 创建 ArrayList 元素的数组

    我想创建一个包含 ArrayList 元素的数组 我试过了 ArrayList
  • 创建一个仅指向另一个数组的一部分的数组?

    我有一个包含引用类型元素的巨大数组 并且我想创建许多其他数组 这些数组本质上只是指向该一个大数组的特定部分 换句话说 我想创建 索引器 或 具有长度的指针 在 C 中 使用指针很容易做到这一点 并为每个指针分配一个长度 例如创建一个包含具有
  • 在 iOS 上使用可调整大小的图像时避免混合图层

    我试图避免 iOS 上的混合层以提高性能 但是 我注意到我使用的可调整大小的图像backgroundView of my UITableViewCell被标记为混合层 事实上 使用任何可调整大小的图像 即使是没有透明度的 JPEG 都会导致
  • 如何使用 rspec 配置 Sorbet?

    我有一个简单的测试 但是describe关键字在冰糕测试中不起作用 我在这些方法上收到的错误 Method describe does not exist on T class of
  • 增大/缩小 WPF 动画

    在 WPF 中 当用户获得焦点时TextBox 我想要一些动画 可以使TextBox变成多行并使其Width更大 当他打字时 并且当焦点丢失时 TextBox恢复到原来的大小 尺寸未知 另外 最终 TextBox需要在 WPF 内DataG
  • Gunicorn 与 unix 套接字不工作给出 502 bad gateway

    我正在关注http www obeythetestinggoat com book chapter 08 html http www obeythetestinggoat com book chapter 08 html书上说要添加一个un
  • 如何更改 Notepad++ 更改文本行的背景颜色?

    更新 未保存 的文本行有亮粉色 ffc286 背景色 更改和保存的文本行有亮绿色 b5ffb5 此背景对于任何颜色样式都是相同的 我在样式配置器中找不到它 我以为它可能是增量突出显示 但事实并非如此 并且它不在全局设置中 我已经在寻找这个值
  • 授予子网中所有计算机的 mysql 访问权限

    我有一个在 Windows 上运行的 mysql 实例 和架构 我可以通过基于 localhost 作为服务器的连接字符串进行访问 现在我希望能够从同一子网上的另一台计算机访问该数据库 如果可能的话 我想使用单个用户 但允许它从同一子网上的
  • 在 n 层系统中,您应该从数据访问层向业务层返回哪些对象

    例如 如果您有一个名为 Person ID Name 等 的数据库表 数据访问层应将什么样的对象返回给业务层 我在想这样的事情 data access tier public class DataAccess public interfac
  • 具有多个参数的 Blazor EventCallback - 如何响应父主机控件中的事件

    我有一个带有 EventCallBack 参数的 blazor 组件 该组件利用允许多个参数的新结构格式 Parameter public EventCallback lt EmployeeShiftDay DateTime DateTim
  • Java中泛型参数类的反射?

    想象一下以下场景 class MyClass extends OtherClass
  • TableView 复选标记

    我想在选择字典数据数组时在表格视图中放置复选标记 例如 数组包含 10 个模型名称 它是字典 它包含子模型 我的问题是 当我选择子模型时 模型名称自动获得复选标记 现在我为不同的模型和子模型添加了复选标记 但是我们如何根据子模型添加复选标记
  • jquery 在视口检查器中同时检查多个元素

    我有一个 jQuery 函数来检查元素是否在视口中 如果是 它会添加 animate 类来启动动画并使元素可见 上面的方法有效 但现在 有多个元素 jQuery 仅针对该类的第一个元素blogcard 然后执行addClass animat
  • 证书对 Intranet SSL 有用吗?

    我的任务是开发命令行软件的内联网接口 现在我正在研究安全选项 我们的命令行应用程序已经完成 但我还没有开始编写 Web 界面 我不确切地知道潜在客户的安全要求是什么 尽管我相信ssh对于命令行界面来说通常是可以接受的 考虑到这一点 我请求帮
  • WebSocket 和纯 TCP 之间的根本区别是什么?

    我读过关于WebSockets http en wikipedia org wiki Web Sockets我想知道为什么浏览器不能像任何其他桌面应用程序一样简单地打开简单的 TCP 连接并与服务器通信 为什么可以通过 websocket
  • 如何将 Maven 原型添加到 Github?

    我已经使用 Maven 开发了我的自定义项目 我想将其分享给社区 是否可以将其放在 GitHub 上 以便可以从那里下载 并在 create archetype 命令中使用 谢谢 标记 这篇文章可能会提供一点帮助 http cemerick
  • 使用 NSSM 将 NodeJs 进程作为 Windows 服务启动不起作用

    我看过无数关于如何使用 NSSM 的文章 http nssm cc http nssm cc 启动 NodeJS 进程 所以 我有以下简单的 NodeJS 文件 var http require http http createServer