node-red
2026/6/5 4:23:16 网站建设 项目流程

node-red

安装

1、安装nodejs和npm
1.1 更新本地包
  • 先更新本地包,以免系统包错误

sudo apt update

1.2 安装nodejs和npm

安装nodejs

sudo apt update

安装npm

sudo apt-get install npm

安装完成后查看nodejs和npm版本:

Node-RED需要Node.js 12.x 或更高版本。

node -v
npm -v

1.3 【可选但是建议】切换npm源到淘宝

切换npm源(淘宝):

npm config set registry https://registry.npmmirror.com

查看源地址:

npm config get registry

1.4【可选但是建议】升级nodejs到最新的版本

清除npm缓存:

npm cache clean --force

全局安装n(n是node包管理工具):

sudo npm install -g n

升级nodejs到最新稳定版:

sudo n stable

  • 升级完成后,查看nodejs和npm版本是否已更新,一般情况下npm版本会和nodejs一起更新。
  • 如果npm未更新到新版本,可以使用下面的命令单独更新:

npm install -g npm@latest

npm install -g npm@latest

2、安装node-red
  1. 运行node-red安装命令

sudo npm install -g --unsafe-perm node-red

注意:

  • 由于网络的原因,安装结果可能会很漫长,如果失败就多运行几次这个安装命令。
  • 中途不要断网、断电、异常终端,否则会出现各种异常,常见的有ENOTEMPTY(需要sudo nautilus进入文件系统,手动清空文件重新安装)、ETIMEOUT(重新执行上面命令)。

返回上图表示安装成功,如果失败会有错误提示。

3、运行node-red
  • 如果已经安装防火墙,需要在防火墙上打开一个1880端口(Node-RED 默认使用端口 1880)。

sudo ufw allow 1880

启动 Node-RED 本身。

node-red

看到“Welcome to Node-RED”消息即为启动成功。在web中打开 http://localhost:1880即可访问,远程也可以通过http://服务器ip:1880进行访问。

安装教程链接来源。

卸载

# 1.1 卸载 Node-RED 本身
sudo npm uninstall -g node-red

# 1.2 卸载相关的全局包
sudo npm uninstall -g node-red-admin

作用和原理

1. 基础架构

Node-RED 运行在一个 Node.js 环境中,使用 Node.js 的事件驱动非阻塞I/O模型。它基于以下几个核心组件:

  • 节点(Nodes)‌:这是构成流程的基本单元。节点可以执行各种功能,如输入、输出、函数处理等。
  • 流程(Flows)‌:由多个节点通过线(连线)连接起来,形成一个数据流。
  • 工作区(Workspace)‌:用户通过浏览器界面编辑和部署流程的地方。

2. 工作原理

节点

  • 输入节点‌:如 HTTP 输入、TCP 输入、文件输入等,用于接收数据。
  • 函数节点‌:允许用户编写 JavaScript 代码来处理数据。
  • 输出节点‌:如 HTTP 输出、TCP 输出、调试输出等,用于发送数据。
  • 服务节点‌:如邮件服务、数据库服务等,用于执行特定任务。

一个节点就如同一个具有特定功能的插件。

流程

流程定义了数据如何从输入节点流向输出节点。每个节点可以处理数据并将其传递给下一个节点。例如,一个 HTTP 请求可以触发一个流程,该流程读取数据,进行一些处理,然后输出结果到另一个服务。

部署和运行

  • 部署‌:用户完成流程的编辑后,可以通过 Node-RED 界面部署流程到服务器(node-red程序所在设备)上。
  • 执行‌:部署后,流程在Node.js 的事件循环中运行。每当输入节点接收到数据时,流程就会被触发执行。

什么是node.js事件循环:

事件循环本质上就是一个"循环监测事件并触发回调的单线程"

简化模型:
┌───────────────────────────┐
│ 事件循环持续运行 │
│ ↓ │
│ 检查事件队列 │
│ ↓ │
│ 取出事件处理 │
│ ↓ │
│ 执行回调函数 │
│ ↓ │
│ 等待新事件 │
└───────────────────────────┘

使用案例

在前端界面中进行变成之后,想要变更的功能发挥作用,一定要先“部署”。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询