Node-RED 界面介绍及安装教程
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:1880Windows 用户以管理员权限打开 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.target3. 启用服务:
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 端口。
五、首次使用快速上手
- 访问界面:浏览器打开
http://localhost:1880 - 切换中文:右上角菜单 → Settings → User Settings → Language → 简体中文
- 创建第一个流:从左侧拖拽
inject(注入)→function(函数)→debug(调试)三个节点,双击 function 节点输入msg.payload = "Hello World!",点击 Deploy 部署后点击 inject 节点左侧按钮,右侧 Debug 面板将输出结果 - 安装扩展节点:右上角菜单 → 管理调色板 → 安装 → 搜索所需节点(如 mqtt、dashboard 等)