运行

如果Node-RED是以全局npm软件包方式进行安装的,那么就直接执行命令node-red:

$ node-red

Welcome to Node-RED
===================

25 Feb 22:51:09 - [info] Node-RED version: v0.14.6
25 Feb 22:51:09 - [info] Node.js  version: v4.6.0
25 Feb 22:51:09 - [info] Loading palette nodes
25 Feb 22:51:10 - [warn] ------------------------------------------
25 Feb 22:51:10 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
25 Feb 22:51:10 - [warn] ------------------------------------------
25 Feb 22:51:10 - [info] Settings file  : /home/nol/.node-red/settings.js
25 Feb 22:51:10 - [info] User Directory : /home/nol/.node-red
25 Feb 22:51:10 - [info] Server now running at http://127.0.0.1:1880/
25 Feb 22:51:10 - [info] Creating new flows file : flows_noltop.json
25 Feb 22:51:10 - [info] Starting flows
25 Feb 22:51:10 - [info] Started flows

这样,你就可以在http://localhost:1880上看到Node-RED编辑器了。

对于某些特殊的硬件平台,我们还提供了一些专门的说明:

下一步

现在,你可以来建立你的第一个流程了。


运行本地安装版本 - Linux & Mac OS X

即便Node-RED不是以全局方式安装的,依然想通过node-red指令执行。

如果安装方式为npm,那么启动脚本就是,你执行npm install命令时所在文件夹下的node_modules/node-red/bin/node-red。如果安装方式为zip文件,那么脚本就是解压文件夹中的node-red-X.Y.Z/bin/node-red

首先,要让node-red脚本成为可执行文件:

chmod +x <node-red-install-directory>/bin/node-red

然后,你可以利用一下方式启动Node-RED:

<node-red-install-directory>/bin/node-red

运行本地安装版本 - Windows

对于Windows,要在执行npm install命令或解压zip文件的目录中,执行:

node node_modules/node-red/red.js

命令行用法

Usage: node-red [-v] [-?] [--settings settings.js] [--userDir DIR] [flows.json]

Options:
  -s, --settings FILE  use specified settings file
  -u, --userDir  DIR   use specified user directory
  -v                   enable verbose output
  -?, --help           show usage

保存用户数据

By default, Node-RED stores your data in the directory默认情况下,Node-RED将用户数据保存在$HOME/.node-red目录中。出于向后兼容的原因,如果Node-RED在安装目录中检测到了用户数据,也将会替代使用。在升级文档中,专门有一个部分是关于如何将数据从Node-RED安装目录中移植出来的。

如果想替代默认使用的目录,可以通过添加命令行参数--userDir实现。

向底层Node.js进程传递参数

在某些场合,我们需要向底层的Node.js进程传递参数。比如当它运行在像树莓派或者BeagleBone Black这类内存受限这样的设备上时,

为了做到这点,你必须以node-red-pi方式启动node-red中的脚本。 注意:这个脚本无法在Windows上使用。

另外,也可以通过node指令来运行Node-RED,但是在指定red.js之前,必须手动设定Node进程以及传递给Node-RED本身的相关参数。

以下给出了这两种方式的命令形式:

node-red-pi --max-old-space-size=128 --userDir /home/user/node-red-data/
node --max-old-space-size=128 red.js --userDir /home/user/node-red-data/

开机时自动启动Node-RED

开机时启动、停止和监控应用的方法有很多,对于树莓派用户,强烈建议按照这些说明进行操作。

后面的内容对于大多数用户都可以直接利用,但对于Windows用户,可能无法将PM2作为服务自动运行,可能更适合采用之后的NSSM选项

使用PM2

PM2是Node.js的进程管理工具,利用它可以非常容易地实现开机应用自动启动以及必要时自动启动的功能。

Note: PM2的发行许可为GNU-AGPL-3.0,在部署前请查看许可的相关条款。
1. 安装PM2
sudo npm install -g pm2
注意: sudo 仅适用于Linux或OS X中的非root用户,如果运行在Windows上,那么就需要以系统身份管理员来执行,而无需使用sudo命令。
另外在Windows上,你还要保证tail.exe已经在目录中安装好,具体情况请参照此处的说明。
2. 确定node-red命令的具体位置。

如果是以全局方式安装的Node-RED,那么对于Linux或OS X系统,那么node-red命令就有可能在/usr/bin/node-red/usr/local/bin/node-red中,我们可以利用which node-red来确定其确切的位置。

如果是本地安装,那么它就应该是你运行npm install命令的那个目录中的node_modules/node-red/bin/node-red

3. 让PM2运行Node-RED

以下命令可使PM2运行Node_RED,其中假设/usr/bin/node-rednode-red命令的存放地址。

另外,--必须出现在传递给node-red的其他任何参数之前。

pm2 start /usr/bin/node-red -- -v
注意: 如果运行在树莓派或BeagleBone Black这类内存受限设备上,你还必须另外再加入一个参数:
pm2 start /usr/bin/node-red --node-args="--max-old-space-size=128" -- -v
注意: 如果希望以root用户身份运行,就必须利用`--userDir`选项,指定保存用户数据的位置。

执行上述指令后,Node-RED将会以后台方式启动运行。你还可以利用下面的指令来查看相关进程信息并访问运行日志:

pm2 info node-red
pm2 logs node-red

关于利用PM2管理进行的更多信息请访问这里

4. 让PM2开机运行

PM2能够自动生成和配置一个与运行平台相适应的启动脚本。

执行以下命令,并按照出现的提示进行操作:

pm2 save
pm2 startup

对于更新版的Linux系统,还可以使用systemd

pm2 startup systemd
注意: 最近在Github上提出了一个 open问题,对于Linux用户必须通过手工编辑所生成`/etc/init.d/pm2-init.sh`来解决,具体做法是将其中的
export PM2_HOME="/root/.pm2"
替换为正确的目录,比如:
export PM2_HOME="/home/{youruser}/.pm2"
5. 重启

最后,重启系统,并检查所有应用是否按预期方式自动启动。

替代方案

以下为社区成员所提供的替代方案。