以下是详细讲解Node.js项目Windows下开机自启动的方法攻略:
方案一:使用node-windows模块
- 安装node-windows模块
npm install -g node-windows
- 在Node.js项目中引入node-windows模块
const winService = require('node-windows').Service;
- 创建windows Service并设置启动参数
const svc = new winService({
name: 'MyService',
description: 'My Node.js Service',
script: __dirname + '\\app.js'
});
其中,name代表服务名,description代表服务描述,script代表要启动的脚本文件路径。
- 注册Service
svc.on('install', function () {
svc.start();
});
svc.install();
- 最后,将输出日志到文件
svc.logOnAs = 'LocalSystem';
svc.logger = require('fs').createWriteStream('MyService.log');
方案二:使用winsw工具
- 下载winsw工具
在https://github.com/kohsuke/winsw/releases 或 https://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.3.0/winsw-2.3.0-bin.exe下载Winsw工具并解压到项目目录下。
- 在项目目录下创建winsw.xml文件
<service>
<id>my-service-name</id>
<name>My Service Name</name>
<description>A cool description...</description>
<workingdirectory>{PATH_TO_PROJECT_DIRECTORY}</workingdirectory>
<executable>{PATH_TO_NODE.EXE}</executable>
<arguments>"{PATH_TO_INDEX_JS}"</arguments>
<logpath>{PATH_TO_LOGS_DIRECTORY}</logpath>
<log mode="roll-by-size">
<sizeThresold>1MB</sizeThresold>
<keepFiles>5</keepFiles>
</log>
<onfailure action="restart" delay="10 sec"/>
</service>
- 安装服务
运行命令行窗口,切换到winsw.exe所在目录,然后运行以下命令:
winsw.exe install
- 反安装服务
winsw.exe uninstall
上面提供了两个方案,都可以实现Node.js项目Windows下开机自启动的效果。需要注意的是,使用node-windows模块需要同时具备Node.js和Windows服务编程知识,使用winsw工具也需要一些基本的XML配置知识。选择一种方案,按照步骤操作,即可轻松实现Windows下开机自启动。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs项目windows下开机自启动的方法 - Python技术站