NodeJS 将 JS 文件安装为 Windows 服务
NodeJS 运行 JS 默认是使用命令行运行,但是这个命令行窗口就不能关闭,而且无法实现开机启动,那么如果安装成系统服务,就能实现很多功能。
使用模块
node-windows
- Npm 官网:https://www.npmjs.com/package/node-windows
- Github 官网:https://github.com/coreybutler/node-windows
使用方法
在项目根目录创建 nw.js 文件
let Service = require('node-windows').Service; let svc = new Service({ name: 'wjSocket', //服务名称 description: '用户在线聊天socket服务', //描述 script: 'D:/www/wptest/socket/server.js', //nodejs项目要启动的文件路径 }); svc.on('install', () => { svc.start(); }); svc.install();
进入项目根目录,运行命令 node nw.js 这个时候如果安装了安全管家等软件会阻止,直接允许就可以了。
现在就可以像普通的 Windows-server 服务一样操作了,运行 node nw.js 命令后,会在当前目录下生成 daemon 文件夹,里面就是运行文件,连错误日志都有了。
2020年4月12日22:14:56 更新
Error: UNKNOWN: unknown error, mkdir 错误
安装的时候出现了 Error: UNKNOWN: unknown error, mkdir 错误,反复查看了安装文件没发现哪里有错误,最后百度下说是路径错了,这才发现是盘符不对,服务器上没有那么多磁盘。
Error: UNKNOWN: unknown error, mkdir 'D:\www\socketio\daemon' at Object.mkdirSync (fs.js:753:3) at E:\www\socketio\node_modules\node-windows\lib\daemon.js:530:16 at suppressedCallback (fs.js:200:5) at FSReqWrap.oncomplete (fs.js:141:20)
修改为正确的路径就行了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论