将 node 命令启动为 windows 服务运行的方法及步骤

配资网 阅读: 2024-09-19
后台-插件-广告管理-内容页头部广告(手机)

用Node.js搞开发时,有时候得让程序一直跑起来,特别是在Win系统里头,要是关掉命令小窗,程序也就跟着挂了。对于那些不能停的活儿,这种方法肯定不行。所以,咱们就把Node.js命令变成Windows服务,这样不管电脑怎么重启,它都会自己启动,保证任务一直在干活。

接下来,咱们就来简单聊聊,怎么把这个东西搞出来,从搞定依赖包到搞出个Win服务,再到拆掉它,咱们一步一步来看。

依赖包的安装

首先,我们要在项目文件夹里装一个名叫node-windows的东西。这个小玩意儿就是让我们的Node.js作为Windows服务器跑起来的秘密武器。咋装?很简单,只要打开命令行,切换到项目文件夹,然后输入命令:npminstallnode-windows。搞定!现在我们的项目已经有了把Node.js脚本变成Windows服务的必备工具。

装完依赖包后,得让你的代码知道怎么用getNode-windows这个模块。那就把它加到service.js里去,后面还得用到它来创建并管理服务!引入好后,你就可以动手写代码。这样一来,你就能在Windows系统上随心所欲地操控Node.js应用程序。

npm i node-windows

创建Windows服务

简单说就是,咱们有个叫database.js的文件,专门往数据库里存东西。但这样它没法自己跑起来,所以还得弄个service.js文件帮帮忙。在这文件里头用node-windows这个工具包搭个新Windows服务就行了。

万全之策_万全之策是什么_万全之策下一句怎么接

在service.js里,我们得注明服务名儿和描述,还有要用什么script来跑这个服务。搞定这些后,咱只要敲打一下nodeservice.js就完事儿!一点儿也不复杂,但这对咱们的开发可是大有裨益,特别是当我们遇到需要长时间运行的任务时。

启动和卸载服务

//service.js
import path from "path";
import nodeWindow from "node-windows";
const Service = nodeWindow.Service;
let svc = new Service({
  name: "node_database", //名称
  description: "添加数据进入数据库", //描述
  script: path.resolve("./database.js"), //node执行入口文件
  nodeOptions: ["--harmony", "--max_old_space_size=4096"],
});
svc.on("install", function () {
  svc.start();
  if(svc.exists){
    console.log('服务安装成功')
  }
});
svc.install();

装好之后,我们能在Windows的服务管理器里看见它,还能手动开关机!要把服务删了怎么办?直接在命令行打句号nodeservice.js加上个卸载参数就成。这功能挺实在的,特别是要改动或者升级服务内容的时候。

在删除服务前,记得把所有重要的资料和数据都保存好!这样就不用担心会丢掉什么了。要是以后想再装上服务,直接再次运行service.js就搞定!这样一来,咱们在开发过程中就能随心所欲地调整和优化服务~

node service.js
服务安装成功

注意事项

在这里插入图片描述

万全之策是什么_万全之策_万全之策下一句怎么接

用Windows服务时要留心,特别是权限问题。有时候,服务里能用的权限比你平时登陆电脑的账号还少!所以要确认一下,别让它做不了该做的事。还有就是,如果你更新了database.js文件,千万别忘了先把服务停掉再装上新的。不然的话,服务还是会照着老的脚本来跑,那就会出乱子。

要注意,Windows服务的日志也是关键!有了这个,我们就可以随时关注服务动向,发现问题不再难。只需要在service.js文件里加点儿日志功能,以后调试维修什么的就方便多了。这样一来,我们对服务的了解也就更深入了。

总结与展望

//uninstall.js
import path from 'path'
import nodeWindow from 'node-windows'
const Service = nodeWindow.Service
let svc = new Service({
    name: 'node_database', //名称
    script: path.resolve('./index.js'), //node执行入口文件
    nodeOptions: [
        '--harmony',
        '--max_old_space_size=4096'
    ]
});
svc.on('uninstall', function () {
    if (!svc.exists) {
        console.log('服务卸载完成');
    }
});
svc.uninstall();

简单说,用Node.js来弄个Windows服务,真的方便多了,能省心不少。只要装上node-windows这个工具包,就能随心所欲地创建、启动和停止服务,大大提高了我们的效率。

希望这篇小文儿帮你更容易地上手怎么用Node.js搞定时任务!试过把Node.js代码做成服务运行吗?来评论区说说你的心得!别忘了点赞+分享,让大家都学学!谢谢捧场!

node uninstall.js
服务安装成功

本文 融资融券杠杆炒股 原创,转载保留链接!网址:http://www.stiy.net/zmt/263.html

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索