![Node-RED物联网应用开发技术详解](https://wfqqreader-1252317822.image.myqcloud.com/cover/937/50688937/b_50688937.jpg)
2.4.3 运行Node-RED
1.在终端窗口运行Node-RED
安装后,你就可以运行Node-RED了。运行Node-RED的简单方法是利用命令提示符:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/30_04.jpg?sign=1739409486-zG77A2fOgWvWu2lhMo3yspzlYrx1JWO8-0-eaccd4027b86a5a69eb6f4407b374b0b)
出现图2-7所示界面,表示Node-RED启动成功:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/31_01.jpg?sign=1739409486-Js8mhj069d48t2En4BMMZRkaqDFx6Ger-0-c283c0fce1f6cdabf109be936dfb78a0)
图2-6 Windows下Node-RED的安装目录位置
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/31_02.jpg?sign=1739409486-IB4kOhZhluhW12fPjiGIhLYiI1Iw097X-0-33b2ffdec3ea78d1d2895548ce102faa)
图2-7 Node-RED启动成功界面
注意:
Node-RED日志将输出到终端。只有终端保持打开状态,才能使Node-RED保持运行。终端窗口关闭或者用鼠标选中文字,都将导致Node-RED停止运行。另一种手动停止Node-RED的方式是使用“Ctrl+C”组合键直接关闭此进程。
约定:
安装Node-RED将在你的%HOMEPATH%文件夹中创建一个名为.node-red的文件夹。这是你的userDir文件夹,可视为当前用户的Node-RED配置的主文件夹。“~”是类Unix系统上用户主文件夹的简写。约定~/.node-red在后文均指userDir的位置,无论Windows还是Linux操作系统。
2.在Windows后台运行Node-RED
按照上文的介绍,在Windows环境中运行的Node-RED还是依赖终端窗口,但是在实际环境中,需要将Node-RED作为Windows的后台服务进行启动,并且可以将日志写入文件而不是显示在终端窗口。这里采用PM2工具完成此任务。PM2是一个进程管理工具,可以管理Node进程,并查看Node进程的状态,也具有性能监控、进程守护、负载均衡等功能。PM2可以在后台启动、停止、管理Node.js的程序。
安装PM2:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_01.jpg?sign=1739409486-fJBjo91U8J0YztRClmzBwANXygC15FML-0-eb1fee945574898f2abdbdb84fa4f43e)
使用PM2启动Node-RED:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_02.jpg?sign=1739409486-tjMINNpWboUzwQdEAVVjrie4sR9jfSh5-0-612cff31db2570f8ea033a09194d83b8)
使用PM2停止Node-RED:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_03.jpg?sign=1739409486-E2MTWNB67qwLuUxqNhlXM0pGlqZOSXEq-0-b3139606470e7d31ab26c04930804e0a)
使用PM2重启Node-RED:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_04.jpg?sign=1739409486-1qnYMP4ABL3RwjO5TM8YGLIt7L0YsIFo-0-92edac986bfc0d884c216d96af119941)
使用PM2查看Noed-RED日志:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_05.jpg?sign=1739409486-BVEw59rwyY6KK6zAhMjcevx66f6SdFQa-0-72ecb16051dc93844151770dbf7b6f5f)
3.在Windows启动时运行Node-RED
如果你想将Windows作为Node-RED的生产平台,你需要设置Windows任务计划程序作业,可以按照以下步骤完成。
● 单击“开始”菜单并键入“任务计划程序”,然后回车。
● 单击右侧菜单中的“创建任务...”,出现图2-8所示界面后按提示步骤创建新任务。
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/33_01.jpg?sign=1739409486-uNYcwSOGCLyYr8wz5zYeNchzPa4bcSNK-0-160f1a1de0b7815d895e5eb3683163e2)
图2-8 任务计划程序界面
创建任务窗口界面如图2-9所示。
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/33_02.jpg?sign=1739409486-bSxmYGZIW9nLgZogs1vhoI81sRhCcalO-0-c3d05a70b803fec526269fab0a62e744)
图2-9 创建任务窗口界面
新建触发器界面如图2-10所示。
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/34_01.jpg?sign=1739409486-qRlMwEq3CQTKxnCIqenaCsCiBXu9EIT5-0-505d44ff2161a6a2539f0688cfa780b2)
图2-10 新建触发器界面
在图2-10所示界面中输入以下内容:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/34_02.jpg?sign=1739409486-QjcoFTkODuS4H7awoyFeNmVi469Ih9KN-0-8b1312d4ca6ded5388af55ccbf5791a1)
注意:
node-red.cmd是Node-RED安装后生成的Windows系统中使用的脚本文件。
node-red.cmd的脚本内容如下:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/34_03.jpg?sign=1739409486-zsT6yIyr3VjPtVgNiF6SeECjMBmEwi6F-0-6414da90baa93f615056e73c374cd726)
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/35_01.jpg?sign=1739409486-fOu54NStT9vhU19osf9l0gav2TJs3j2X-0-8fea8f64715b76858e13501b8ca40887)
你不需要马上理解上面的内容,不过如果你需要实现以下需求,可以尝试学习CMD脚本的规则,然后按照规则编辑node-red.cmd文件。
● 希望确保Node-RED仅在网络可用时启动。
● 如果启动失败,你可能还希望重新启动,且每分钟重新启动一次,但只重新启动3次,如果到那时还没有启动,表示是严重系统级错误,此时记录日志并提醒管理员进行干预。
● 通过查看日志文件来检查故障。如果你想以这种方式在运行时访问日志,你应该修改node-red.cmd文件以将std和错误输出重定向到一个文件。创建一个替代启动文件会更好,这样它就不会在更新时被覆盖。