使用Node.js轻松管理Windows服务:node-windows

使用Node.js轻松管理Windows服务:node-windows

去发现同类优质开源项目:https://gitcode.com/

NPM版本 NGN依赖项

在寻找一种高效且可靠的解决方案来在Windows生产环境中部署和管理Node.js脚本吗?node-windows库提供了一种简单的方式,将你的Node.js应用作为后台服务运行。这个工具不仅适合发布应用程序,而且非常适合那些希望确保其服务始终可用的开发者。

由@coreybutler维护并得到一些知名赞助商的支持,包括Metadoc、Enabledb和Butlerlogic,以及微软等,node-windows以其稳定性、易用性和社区支持赢得了广泛认可。

项目概述

核心特性:

  • 服务管理:以原生Windows服务形式运行Node.js脚本,带有监控功能。
  • 事件日志:在系统事件日志中创建记录,便于故障排查。
  • 命令集合
    • 提供权限提升的命令执行(可能需用户同意)。
    • 利用sudo进行安全的执行操作。
    • 检查当前用户是否拥有管理员权限。
    • 列出运行的任务和服务。
    • 基于PID停止特定任务或服务。

安装说明:

  1. 全局安装:npm install -g node-windows
  2. 在项目根目录链接:npm link node-windows
  3. 如果不需要全局安装,也可以直接将其放入项目根目录。

无本地模块依赖:

与许多Windows上的本地Node.js模块不同,node-windows不依赖编译过程,避免了对Visual Studio或其他开发软件的依赖。这意味着你可以在没有这些工具的情况下安装和使用它。

创建Windows服务

通过node-windows,你可以轻松地将你的Node.js脚本转换为Windows服务。以下是一个示例:

var Service = require('node-windows').Service;

// 新建一个服务对象
var svc = new Service({
  name:'Hello World',
  description: 'Node.js 示例web服务器.',
  script: 'C:\\path\\to\\helloworld.js',
  // 可选配置如:nodeOptions, workingDirectory 等
});

// 监听"install"事件,表示服务已安装,可以启动
svc.on('install',function(){
  svc.start();
});

svc.install();

创建的服务可以通过Windows服务管理器查看和控制,就像其他任何Windows服务一样。

特性亮点

  • 自定义命令行选项:通过scriptOptions传递参数给你的脚本。
  • 环境变量设置:在服务创建时设置环境变量。
  • 指定Node.js可执行文件路径:使用特定版本的node.exe执行脚本。
  • 服务依赖性:让服务依赖其他Windows服务以保证正确启动顺序。
  • 智能重启策略:防止因脚本错误导致的频繁重启。

node-windows的智能重启机制能在服务崩溃时按预设规则恢复,避免系统资源被过度占用。此外,它还允许您配置初始等待时间以及每次尝试之间的增长比例。

如果你正考虑将你的Node.js应用程序部署到Windows服务器上,node-windows绝对是值得尝试的优秀解决方案。试试看,你会喜欢它的灵活性和可靠性。别忘了,你可以通过npm link或直接贡献代码来支持这个项目!

去发现同类优质开源项目:https://gitcode.com/

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任翊昆Mary

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值