Свое облако или установка и запуск Node-Red на AWS (ubuntu)

В этой статье рассмотрим как установить и настроить Node-Red на удаленный сервер Amazon.

Для чего это нужно? 

Node-RED – это инструмент визуального программирования для интернета вещей IoT, позволяющий подключать друг к другу устройства, API и онлайн-сервисы. Для пользователей Flprog думаю будут интересны поддержка протоколов Modbus, MQTT и возможность создания ботов Telegram Viber и т.д. В общем платформа сочетает в себе гибкость и простоту в использовании, т.к. программируется визуально.

Почему Amazon AWS?

Главное для большинства стоимость использования сервиса, так вот у Amazon просто отличное соотношение цена-качество в первый год использования. Первый год после регистрации цена за 1 виртуальный сервер 0$, причем сервер имеет на борту 1 ядро 1Gb ОЗУ и 8Gb SSD. В общем не плохо для бесплатного сервера. Можете конечно выбрать любой другой сервис и благо подходящие для нас стоят они не очень дорого 100-200 рублей в месяц. 


Приступим:

Зарегистрируемся на AWS

Поднимем сервер и подключимся к нему для настройки. Только в отличии от истанса указанного в этом видео нужно выбрать Ubuntu.

       

Рекомендую использовать для доступа по SSH Mobaxtern это вам сильно упростит дальнейшую работу.


Получилось подключиться? Тогда продолжим.

 

Установка  Node.js

Для этого вводим в консоли команды ниже.

sudo apt-get update
sudo apt-get upgrade
cd ~
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt install nodejs
sudo apt install build-essential

Установили? Теперь проверяем.

nodejs -v

Вывод
v8.11.1


Устанавливаем Node-Red 

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

После этого вы сможете протестировать свой экземпляр, запустив команду

node-red

После запуска Node-RED вы можете открыть сам редактор при помощи следующей команды:

http://ip-адрес-вашего-экземпляра:1880


Автозагрузка Node-Red

Чтобы не лезть в консоль каждый раз после перезапуска сервера настроим автозапуск Node-Red

sudo npm install -g pm2
sudo pm2 start `which node-red` -- -v
sudo pm2 save
sudo pm2 startup
Дополнительные команды
Запуск Node-Red
sudo pm2 start node-red
Остановка Node-Red
sudo pm2 stop node-red
Перезапуск Node-Red
sudo pm2 restart node-red
Удалить Node-Red из автозагрузки
sudo pm2 delete node-red

Защита Node-RED
Теперь нужно защитить доступ к интерфейсу Node-RED с помощью пароля. Хешируйте пароль, прежде чем добавлять его в конфигурационный файл.

node-red-admin hash-pw

Команда запросит пароль. Введите его, нажмите Enter, и на экране появится хеш пароля. Скопируйте его и добавьте в файл настроек Node-RED:

nano /home/ubuntu/.node-red/settings.js

Для того чтобы поставить пароль на панель настроек 

Найдите и раскомментируйте строку adminAuth (удалите // в начале строки).

В строке username укажите имя администратора, а в строку password добавьте хеш пароля.

adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2a$08$Ab9prIr1M8a5a1/Zx8.B9.uIOCPe.v90ZGuZc2kAATp6BHJ/WV5KS",
permissions: "*"
}]

Чтобы установить пароль на dashboard раскомментируйте строки httpNodeAuth и httpStaticAuth

в строке username укажите имя пользователя, а в строку password добавьте хеш пароля.

по окончании работы с файлом нажмите ctrl+X на вопрос нажмите Y затем Enter.


Выводим Dashboard на главную страницу

  Сейчас адреса у нас выглядят  как http://ваш-IP:1880 для панели администратора и http://ваш-IP:1880/ui для Dashboard. Если вас все устраивает, то на этом можно и закончить. Но если хотите сделать адреса более логичными, к примеру для Dashboard http://ваш-IP и для администраторской панели   http://ваш-IP/admin – то продолжим. 

Установим Nginx

sudo apt install nginx
sudo nano /etc/nginx/sites-enabled/default

меняем в файле после location / 

на { proxy_pass http://127.0.0.1:1880; } и сохраняем.

Далее опять запускаем 

sudo nano /home/ubuntu/.node-red/settings.js
расскоментируем и меняем

httpAdminRoot: '/admin',
ui: { path: "/" },
uiHost: "127.0.0.1",

И последняя точка это 

sudo reboot

 

Вот и все система настроена и готова к работе. Спасибо за внимание.


0

Publication author

offline 1 month

Анатолий

63
Comments: 26Publics: 76Registration: 21-12-2017

Leave a Comment

Войти с помощью: 
Authorization
*
*
Войти с помощью: 
Registration
*
*
*
*
Войти с помощью: 
Password generation