You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同一Node-RED实例中同时运行两个项目

如何原生实现多个Node-RED项目同时运行

Node-RED默认单实例仅能加载一个项目,要实现两个独立项目同时运行,核心方案是启动多个完全隔离的Node-RED实例,每个实例对应一个项目,通过配置文件、端口等参数实现环境隔离,具体步骤如下:

1. 为每个项目创建独立的工作环境

  • 为两个项目分别建立独立的目录,比如:
    • 项目A:~/node-red-projects/project-a
    • 项目B:~/node-red-projects/project-b
  • 为每个目录初始化Node-RED配置:进入对应目录,运行node-red init生成专属的settings.js配置文件;或者复制系统默认的settings.js到目标目录再修改。
  • 修改每个settings.js中的关键隔离参数:
    • uiPort:设置不同的访问端口,比如项目A用1880,项目B用1881,避免端口冲突
    • userDir:指定当前项目的工作目录(需指向对应项目的文件夹,确保实例仅加载该项目的资源)
    • 可选:httpAdminRoot,设置不同的管理后台路径(如/admin-a),如果想用同一端口区分实例,但更推荐用不同端口实现完全隔离

2. 启动独立实例

  • 启动项目A:进入project-a目录,运行node-red --settings settings.js
  • 启动项目B:进入project-b目录,运行node-red --settings settings.js
  • 也可以直接用绝对路径启动,无需切换目录:node-red --settings ~/node-red-projects/project-b/settings.js

3. 保持Git版本追踪独立

每个项目目录下单独关联对应的Git仓库即可,两个实例的运行环境完全隔离,版本管理操作互不影响。

4. 可选:用进程管理工具后台运行

如果需要长期后台运行,可使用pm2这类工具:

  • 安装pm2:npm install pm2 -g
  • 启动项目A:pm2 start node-red --name "node-red-project-a" -- --settings ~/node-red-projects/project-a/settings.js
  • 启动项目B:pm2 start node-red --name "node-red-project-b" -- --settings ~/node-red-projects/project-b/settings.js
  • 后续可通过pm2 list查看状态、pm2 logs查看运行日志

注意事项

  • 确保每个实例的端口不重复,否则会导致启动失败
  • 自定义节点可选择全局安装(所有实例共享)或单独安装到对应项目目录的node_modules下(仅当前实例可用)
  • 每个实例独立运行,切换操作某一项目时不会影响另一个实例的运行状态

内容的提问来源于stack exchange,提问作者eden881

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 12:47:13