Node-RED:Введение/Запуск
Запуск[1]
Если Node-RED установлен у вас как глобальный npm-пакет, то запустить его можно с помощью команды «node-red».
$ node-red
Welcome to Node-RED
===================
25 Mar 22:51:09 - [info] Node-RED version: v0.18.4
25 Mar 22:51:09 - [info] Node.js version: v8.11.1
25 Mar 22:51:09 - [info] Loading palette nodes
25 Mar 22:51:10 - [warn] ------------------------------------------
25 Mar 22:51:10 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
25 Mar 22:51:10 - [warn] ------------------------------------------
25 Mar 22:51:10 - [info] Settings file : /home/nol/.node-red/settings.js
25 Mar 22:51:10 - [info] User Directory : /home/nol/.node-red
25 Mar 22:51:10 - [info] Server now running at http://127.0.0.1:1880/
25 Mar 22:51:10 - [info] Creating new flows file : flows_noltop.json
25 Mar 22:51:10 - [info] Starting flows
25 Mar 22:51:10 - [info] Started flows
Чтобы открыть редактор Node-RED, введите в адресной строке браузера «http://localhost:1880».
По ссылкам ниже – руководства по запуску Node-RED на разных аппаратных платформах:
Что дальше
Теперь вы можете создать свой первый поток.
Использование командной строки
Пример использования:
node-red [-v] [-?] [--settings settings.js] [--userDir DIR] [flows.json]
Флаги:
- -s, --settings FILE чтобы задать файл с настройками
- -u, --userDir DIR чтобы задать пользовательскую директорию
- -v чтобы включить расширенный вывод данных
- -?, --help чтобы вызвать справку о команде
Локальный запуск (Linux и Mac OS X)
Если Node-RED расположена локально, то ее тоже можно запустить с помощью «node-red».
Если Node-RED была установлена с помощью npm, то скриптом для запуска будет «node_modules/node-red/bin/node-red» (путь зависит от папки, где вы запускали «npm install»). Если Node-RED была установлена из ZIP-файла, то скриптом для запуска будет «node-red-X.Y.Z/bin/node-red» (путь зависит от папки, куда вы распаковали ZIP-архив).
Сначала давайте сделаем скрипт для запуска Node-RED исполняемым:
chmod +x <папка-установки-node-red>/bin/node-red
Затем запускаем Node-RED с помощью этого скрипта:
<папка-установки-node-red>/bin/node-red
Локальный запуск Node-RED (Windows)
На Windows запустите команду ниже из той же директории, где запускали «npm install» или где распаковали ZIP-архив с Node-RED:
node node_modules/node-red/red.js
Сохранение пользовательских данных
По умолчанию Node-RED сохраняет ваши данные в папку «$HOME/.node-red». Но если Node-RED обнаружит пользовательские данные в папке установки, то будет использовать именно их, а не те, что находятся в папке «$HOME/.node-red» (это сделано в целях обратной совместимости). О том, как переместить данные из папки установки Node-RED в другое место, см. в статье «Обновление».
Чтобы поменять используемую директорию, можно воспользоваться флагом «--userDir».
Передача аргументов базовому процессу Node.js
Бывают ситуации, когда базовому процессу Node.js нужно передать какие-то аргументы. К примеру, это может понадобиться при запуске Node-RED на устройствах вроде Raspberry Pi или BeagleBone Black, имеющих ограниченную память.
Для этого вместо «node-red» нужно воспользоваться скриптом «node-red-pi» (на Windows этот скрипт недоступен):
node-red-pi --max-old-space-size=128 --userDir /home/user/node-red-data/
Кроме того, Node-RED можно запустить при помощи команды «node», но в этом случае аргументы для базового процесса Node.js нужно задать перед «red.js» и аргументами, которые вы хотите передать самой Node-RED.
node --max-old-space-size=128 red.js --userDir /home/user/node-red-data/
Запуск Node-RED при загрузке
Есть много способов запуска, остановки и мониторинга приложений в момент загрузки. Если вы пользователь Raspberry Pi, настоятельно рекомендую прочесть вот это руководство.
Если вы пользователь Debian-версии Linux (вроде Ubuntu, Mint, Debian и т.д.), рекомендую прочесть вот этот раздел из руководства по Raspberry Pi, но вам также нужно будет отредактировать загруженный файл «/lib/systemd/system/nodered.service», чтобы его данные соответствовали вашим ID пользователя и окружению.
На наш взгляд, для подавляющего большинства пользователей проще будет воспользоваться методом, описанным в разделе ниже – в нем задействован PM2. На Windows PM2 не автозапускает Node-RED как службу, и вам, возможно, лучше сделать это с помощью NSSM (ссылку на соответствующее руководство см. ниже, в разделе «Альтернативные способы»).
При помощи PM2
PM2 – это диспетчер процессов для Node.js. Он упрощает запуск и – если понадобится – перезапуск приложений при загрузке.
Устанавливаем PM2
sudo npm install -g pm2
Определяем локацию установки команды «node-red»
Если Node-RED была установлена как глобальный пакет, то на Linux и OS X командой будет, скорее всего, «/usr/bin/node-red» или «/usr/local/bin/node-red». Чтобы проверить локацию установки, можно воспользоваться командой «which node-red».
Если вы устанавливали Node-RED локально, то командой будет «node_modules/node-red/bin/node-red» (начало пути зависит от того, где вы запускали «npm install»).
Говорим PM2 запустить Node-RED
Команда ниже говорит PM2 запустить Node-RED («/usr/bin/node-red» – это место, где находится команда «node-red»).
Аргумент «--» должен стоять перед всеми аргументами, которые вы хотите передать Node-RED.
pm2 start /usr/bin/node-red -- -v
pm2 start /usr/bin/node-red --node-args="--max-old-space-size=128" -- -v
Команда выше запустит Node-RED в фоновом режиме. Чтобы просматривать информацию об этом процессе и его логи, воспользуйтесь командами ниже:
pm2 info node-red
pm2 logs node-red
Более подробно об управлении процессами с помощью PM2 читайте тут.
Говорим PM2 запустить Node-RED при загрузке
При помощи PM2 можно сгенерировать и настроить скрипт для запуска Node-RED на разных платформах.
Запустите команды ниже и следуйте инструкциям, которые появятся после этого:
pm2 save
pm2 startup
Если у вас более новая версия Linux, где используется systemd, воспользуйтесь вот этой командой:
pm2 startup systemd
export PM2_HOME="/root/.pm2"
...на...
export PM2_HOME="/home/{youruser}/.pm2"
...чтобы задать правильную директорию.
Делаем перезагрузку
Наконец, перезагружаемся и проверяем, запускается ли Node-RED как нужно.
Альтернативные способы
Есть много других альтернативных способов запуска Node-RED. Ниже – несколько способов, созданных участниками сообщества:
- Cкрипт system (используется для предустановленной версии Node-RED на Raspberry Pi). ОС – Linux, автор – @NodeRED
- Скрипт system. ОС – Linux, автор – Belphemur
- Скрипт init.d. ОС – Linux, автор – dceejay
- Скрипт init.d. ОС – Linux, автор – Belphemur
- Скрипт Launchd. ОС – OS X, автор – natcl
- Запуск Node-RED как службы при помощи NSSM. ОС – Windows, автор – dceejay
- Запуск Node-RED как службы. ОС – Windows и OS X, автор – Бен Хердилл
См.также
Внешние ссылки