Banner

Node-RED 界面介绍及安装教程

2026-09-20
Node-RED 的界面基于浏览器编辑器,采用经典的拖拽连线布局;安装方式推荐 Docker 容器化部署或 npm 全局安装。

一、界面架构(v5.0 新版)

Node-RED 5.0 对编辑器进行了现代化重构,整体采用三栏式布局,所有操作均在浏览器中完成(默认端口 1880)。

顶部流程栏

  • 流程标签页:每个标签代表一个独立的流(Flow),可右键重命名、删除或禁用,用于隔离不同功能模块
  • 搜索框:输入关键词可快速定位画布中的节点或从调色板添加新节点
  • 部署按钮(Deploy):右上角红色按钮,修改流程后必须点击部署才能生效
  • 菜单按钮:导入/导出流程、管理节点包、访问用户设置等

左侧:节点调色板(Node Palette)

  • 存放所有可用节点,按功能分类(输入、输出、函数、网络、序列等)
  • 内置约 42 个核心节点,社区扩展节点可通过"管理调色板"安装
  • v5.0 新增 Explorer(资源管理器) 面板,以树形结构展示所有流、节点和全局配置,方便快速导航

中间:流编辑器(Flow Editor)

  • 核心画布区域,拖拽节点至此处并通过连线构建数据流
  • 节点左侧为输入端口,右侧为输出端口,连线定义了消息传递路径
  • 双击节点可打开配置面板编辑属性
  • 支持多流程标签页切换、子流程嵌套和注释节点添加

右侧:侧边栏(Sidebar)

v5.0 将侧边栏重新设计为多个功能面板:

  • Information(信息):显示选中节点的详细属性、帮助文档和当前状态
  • Debug(调试):实时显示 debug 节点输出的消息内容,是排查问题的核心工具
  • Config(配置):管理全局配置节点(如 MQTT Broker、HTTP Server 等)
  • Context(上下文):查看节点级、流级和全局级的存储数据

底部:状态栏

  • 显示当前部署状态、节点捕获信息和运行时提示

二、核心概念

  • 节点(Nodes):流程的基本功能单元,分为输入节点(如 inject、http in)、处理节点(如 function、switch)和输出节点(如 debug、mqtt out)
  • 流(Flows):由节点和连线组成的完整数据处理链路,代表一个自动化过程
  • 消息(Messages):节点间传递的数据对象,核心属性为 msg.payload(数据内容)和 msg.topic(主题标识)
  • 上下文(Context):用于存储数据的机制,分为节点级(node)、流程级(flow)和全局级(global)

三、安装部署教程

Node-RED 基于 Node.js 运行,官方推荐 Node.js 18.x 或 20.x LTS 版本,不支持 10.x 以下版本。

方案一:Docker 部署(推荐)

适合已有 Docker 环境的用户,数据通过挂载卷持久化:

# 基础部署
docker run -it -p 1880:1880 \
  -v ~/nodered-data:/data \
  --name mynodered \
  nodered/node-red

如需开机自启,添加 --restart=always 参数。

方案二:npm 全局安装

前置条件:已安装 Node.js LTS 版本及 npm。

# 全局安装
sudo npm install -g --unsafe-perm node-red

# 启动服务
node-red

# 浏览器访问 http://localhost:1880

Windows 用户以管理员权限打开 CMD 或 PowerShell,去掉 sudo 前缀即可。

方案三:树莓派/Debian 一键脚本(推荐)

官方提供一键安装脚本,自动处理 Node.js 安装、Node-RED 部署及系统服务配置:

bash <(curl -sL https://github.com/node-red/linux-installers/releases/latest/download/install-update-nodered-deb)

安装后提供专用管理命令:

node-red-start    # 启动服务
node-red-stop     # 停止服务
node-red-log      # 查看日志
sudo systemctl enable nodered.service  # 开机自启

方案四:Linux systemd 服务部署

适合生产环境,实现开机自启和进程守护:

1. 查看 Node-RED 安装路径:which node-red

2. 创建服务文件 /etc/systemd/system/node-red.service:

[Unit]
Description=Node-RED
After=network.target

[Service]
ExecStart=/usr/bin/node-red
Restart=always
User=root
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

3. 启用服务:

systemctl daemon-reload
systemctl enable node-red
systemctl start node-red

四、安全配置建议

Node-RED 默认无密码保护,生产环境必须配置用户认证:

# 初始化管理员账户(交互式设置用户名/密码)
node-red admin init

或手动编辑 ~/.node-red/settings.js,配置 adminAuth:

adminAuth: {
  type: "credentials",
  users: [{
    username: "admin",
    password: "$2b$08$...",  // 使用 node-red admin hash-pw 生成哈希值
    permissions: "*"
  }]
}

如需远程访问,在 settings.js 中将 uiHost 设为 0.0.0.0,并确保防火墙开放 1880 端口。

五、首次使用快速上手

  1. 访问界面:浏览器打开 http://localhost:1880
  2. 切换中文:右上角菜单 → Settings → User Settings → Language → 简体中文
  3. 创建第一个流:从左侧拖拽 inject(注入)→ function(函数)→ debug(调试)三个节点,双击 function 节点输入 msg.payload = "Hello World!",点击 Deploy 部署后点击 inject 节点左侧按钮,右侧 Debug 面板将输出结果
  4. 安装扩展节点:右上角菜单 → 管理调色板 → 安装 → 搜索所需节点(如 mqtt、dashboard 等)


25