Node-RED多项目模式下,如何在项目2中访问项目1的仪表盘?
解决方案:同时访问两个Node-RED项目的Dashboard
在Node-RED 0.18.3的项目模式下,同一时间确实只有激活的项目会加载并运行其流和相关节点(包括Dashboard的UI组件),未激活的项目对应的仪表盘自然无法访问。要实现同时查看两个项目的仪表盘,最可行的方案是运行多个Node-RED实例,每个实例对应一个项目,具体步骤如下:
1. 准备独立的配置文件
复制一份Node-RED的settings.js,重命名为settings-project1.js(对应project1),原文件可保留给project2使用。然后修改新配置文件里的端口号,避免实例间端口冲突:
// 在settings-project1.js中找到以下配置,修改端口 uiPort: process.env.PORT || 1881, // 原默认端口是1880,这里改成1881
2. 分别启动两个Node-RED实例
打开两个终端窗口,分别启动对应项目的实例:
- 启动project1的实例(端口1881):
启动完成后,在这个实例的编辑器里切换到project1并确保它处于激活状态。node-red -p 1881 --settings ./settings-project1.js - 启动project2的实例(使用默认端口1880):
同样在这个实例的编辑器里切换到project2并激活。node-red
3. 访问各自的仪表盘
现在你可以同时访问两个项目的仪表盘:
- project1的仪表盘:
http://localhost:1881/ui - project2的仪表盘:
http://localhost:1880/ui
注意事项
- 两个Node-RED实例是完全独立的,流数据不会自动共享。如果需要在项目间传递数据,可以使用MQTT、Redis等消息中间件来实现。
- 确保你的系统资源(内存、CPU)足够支撑两个实例运行,对于轻量级的流来说,这个版本的Node-RED不会产生太大压力。
- 如果你使用Windows系统,启动命令逻辑一致,只需将文件路径调整为Windows格式即可。
内容的提问来源于stack exchange,提问作者yavuzdoganc
相关产品推荐
相关产品推荐

