将Node.js程序加入系统服务可以实现开机自动启动,无需手动执行命令,保证Node.js程序一直运行,提高服务的可靠性。下面是将Node.js程序加入服务的攻略。
1. 安装node-windows
需要使用node-windows模块将Node.js程序加入系统服务。可以使用npm安装node-windows:
npm install -g node-windows
2. 创建服务
可以使用node-windows创建一个服务,这个服务可以在本地System账户下运行,也可以是其他用户的账户下运行。以下代码创建一个名为MyService的服务:
var Service = require('node-windows').Service;
// 创建服务对象
var svc = new Service({
name: 'MyService',
description: 'Node.js Service',
script: 'F:\\nodejs\\server.js'
});
// 监听服务的安装事件
svc.on('install', function () {
// 启动服务
svc.start();
});
// 安装服务
svc.install();
3. 控制服务
node-windows提供一些方法来控制服务,如start()方法启动服务,stop()方法停止服务。以下是控制服务的代码:
var Service = require('node-windows').Service;
// 创建服务对象
var svc = new Service({
name: 'MyService',
description: 'Node.js Service',
script: 'F:\\nodejs\\server.js'
});
// 启动服务
svc.start();
// 停止服务
svc.stop();
示例1:将Express应用加入Windows服务
var Service = require('node-windows').Service;
var app = require('./app');
// 创建服务对象
var svc = new Service({
name: 'MyExpressService',
description: 'Node.js Express Service',
script: 'F:\\nodejs\\app.js'
});
// 监听服务的安装事件
svc.on('install', function () {
// 启动服务
svc.start();
});
// 监听服务的卸载事件
svc.on('uninstall', function () {
console.log('Uninstall complete.');
});
// 安装服务
svc.install();
示例2:将Koa应用加入Windows服务
var Service = require('node-windows').Service;
var app = require('./app');
// 创建服务对象
var svc = new Service({
name: 'MyKoaService',
description: 'Node.js Koa Service',
script: 'F:\\nodejs\\app.js'
});
// 监听服务的安装事件
svc.on('install', function () {
// 启动服务
svc.start();
});
// 监听服务的卸载事件
svc.on('uninstall', function () {
console.log('Uninstall complete.');
});
// 安装服务
svc.install();
以上就是将Node.js程序加入服务的攻略,通过node-windows模块我们可以快速地将Node.js应用加入Windows服务,实现随机启动。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:把Node.js程序加入服务实现随机启动 - Python技术站