15 49.0138 8.38624 1 0 4000 1 https://www.alexmedina.net 300 true 0

Levantar varias instancias de Node-Red en windows

6 Comments

Utilizar varias instancias de Node-red te permite trabajar en diferentes proyectos sin que se afecten los flows de cada uno. Para crear varias instancias de Node-red en windows puedes hacer los siguientes pasos.

Por ejemplo, crear 4 instancias:

1- Crea 4 carpetas

c:\node-red-1880

c:\node-red-1881

c:\node-red-1882

c:\node-red-1883

2- Abre 4 cmd windows

Start >> Run >> cmd >> {enter}

node-red -p 1880 -u c:/node-red-1880

Start >> Run >> cmd >> {enter}

node-red -p 1881 -u c:/node-red-1881

Start >> Run >> cmd >> {enter}

node-red -p 1882 -u c:/node-red-1882

Start >> Run >> cmd >> {enter}

node-red -p 1883 -u c:/node-red-1883

Con la instrucción -p indicas el puerto donde se ejecuta y con -u la ubicación.

Así tendrás las 4 instancias en:

  • http://localhost:1880
  • http://localhost:1881
  • http://localhost:1882
  • http://localhost:1883

Gestionar la nueva instancia de node-red con pm2

Como ya os comente en otro post, me gusta gestionar los procesos con pm2 porque es una forma rápida de poder reiniciar, parar, ver logs, etc..

Organizar un poco los datos para hacerlos más portables

Podríamos meter el nuevo node-red dentro de un directorio con una carpeta data (totalmente opcional).

Así tendríamos un archivo node-red.config.js y en data incluiríamos:

  • package.json
  • settings.js
    • edítalo y pon la propiedad flowFile: ‘flows.json’ para que coja correctamente el archivo de flows
  • flows.js (el archivo con tus flujos de node-red)

Quedaría así, por ejemplo:

Archivo configuración para lanzar pm2

El archivo de configuración (node-red.config.js) lo crearemos indicando los argumentos para levantar la instancia, con este contenido:

module.exports = {
apps : [{
name : "node-red-1881",
script : "C:/Users/amedina/AppData/Roaming/npm/node_modules/node-red/red.js",
args :"-u C:/nr1881/data/ -s C:/nr1881/data/settings.js -p 1881",
env: {

}
}]
}

Y de esta forma solo quedaría hacer un:

cd C:/nr1881/
pm2 start node-red.config.js

Y ya podríamos ver la nueva instancia con pm2 status:

Previous Post
Diferencia entre include() y require() y como solventar el problema de las rutas
Next Post
Mis extensiones indispensables para VSCode

6 Comments

  • 26 junio, 2020 at 4:37 pm
    laura

    no entiendo como hacerlo

    Reply
    • 11 agosto, 2020 at 5:17 pm
      alexmedina

      que no entiendes Laura?

      Reply
  • 17 enero, 2021 at 8:52 am
    antoniope

    Hola Alex

    No lo he probado en windows, por que me haria falta en Debian en una Raspberry

    ¿sabes si se puede hacer en debian 10 ?

    Reply
    • 17 enero, 2021 at 6:17 pm

      Hola Antonio,
      yo lo probé en windows porque necesitaba tener varios node-red, pero vamos, seguro que en debian se puede, incluso más fácil.

      Reply
  • 26 julio, 2021 at 6:14 am
    Au

    Parece que la representación grafica, el Dashboard y los temas no funcionan bien cuando se usan mas instancias..

    Reply
    • 27 julio, 2021 at 11:28 am

      No entiendo el porqué, deberían ser independientes.

      Reply

Leave a Reply

SOBRE MÍ

Afortunado de trabajar en lo que me gusta, aprendiendo cada día cosas nuevas y ayudando a crear proyectos.
Conocimientos en diversas tecnologías y experiencia demostrable.
¿Nos ponemos manos a la obra?

Mis Apuntes