当前位置: 首页 > ops >正文

Ubuntu安装node-red

npm安装

1. 更新系统包列表
首先,更新您的系统包列表以确保所有软件包都是最新的:
sudo apt update

2. 安装Node.js
Node-RED依赖于Node.js,因此我们需要先安装Node.js(注意版本需要18及以上)。可以使用Ubuntu的包管理器来安装:
sudo apt install nodejs npm

安装完成后,验证Node.js的版本:
node -v
npm -v

3. 安装Node-RED
现在我们可以使用npm来安装Node-RED:
sudo npm install -g --unsafe-perm node-red node-red-admin
这个命令将Node-RED全局安装到您的系统上。

4. 启动Node-RED
安装完成后,可以通过以下命令启动Node-RED:
sudo node-red
Node-RED将启动并打开默认的Web界面,通常是在浏览器中访问 http://localhost:1880

配置node-red

1. 创建Node-RED用户
为了安全起见,建议为Node-RED创建一个单独的用户:
sudo deluser --remove-home node-red
sudo delgroup node-red
sudo addgroup --system node-red
sudo adduser --system --ingroup node-red --home /home/node-red --disabled-password --shell /bin/false node-red
sudo -u node-red -H id


2. 设置环境变量
将Node-RED用户添加到sudoers文件中,以便它可以运行作为root的命令:
echo "node-red ALL=(ALL) NOPASSWD: $( which node-red )" | sudo tee -a /etc/sudoers.d/node-red
echo "node-red ALL=(ALL) NOPASSWD: $( which node-red-pi )" | sudo tee -a /etc/sudoers.d/node-red
echo "node-red ALL=(ALL) NOPASSWD: $( which node-red-admin )" | sudo tee -a /etc/sudoers.d/node-red
sudo cat /etc/sudoers.d/node-red


3. 使用systemd管理Node-RED

编辑文件 sudo vi /usr/lib/systemd/system/node-red.service

[Unit]
Description=Node-RED
After=network.target[Service]
ExecStart=/usr/local/bin/node-red
WorkingDirectory=/home/node-red
User=node-red
Group=node-red
Restart=on-failure
KillMode=control-group[Install]
WantedBy=multi-user.target

为了方便管理,我们可以使用systemd来启动和停止Node-RED:

sudo systemctl daemon-reload
sudo systemctl stop node-red
sudo systemctl start node-red
sudo systemctl status node-red
sudo systemctl enable node-red

查看日志:journalctl -u node-red -f

从日志中,我们可以看到systemctl使用的用户为创建的node-red,目录下有一个.node-red文件夹,node-red启动时会在用户目录~/.node-red中查找名为settings.js的文件,如果找不到会将默认设置文件复制到该目录下并使用它。

4. 使用systemd管理Node-RED
设置登录密码为 dt123456
node-red-admin hash-pw
Password: $2y$08$/DITs//2YCadPadVBbICGejCO7TuZYStXBd.2V6FllRlBWz3yB5L6

编辑文件 sudo -u node-red -H vi /home/node-red/.node-red/settings.js

adminAuth: {type: "credentials",users: [{username: "admin",password: "$2y$08$/DITs//2YCadPadVBbICGejCO7TuZYStXBd.2V6FllRlBWz3yB5L6",permissions: "*"}]},

重启服务 sudo systemctl restart node-red.service

http://www.xdnf.cn/news/16285.html

相关文章:

  • 刷题日记0726
  • 杰理蓝牙耳机开发--三轴加速度传感器与IIC通信
  • 关于树(按序遍历,搜索,LCA)
  • Git版本控制
  • Linux 系统调用详解:操作文件的常用系统调用
  • 大语言模型 LLM 通过 Excel 知识库 增强日志分析,根因分析能力的技术方案(3):使用云平台最小外部依赖方案
  • Spring AI 项目实战(二十):基于Spring Boot + AI + DeepSeek的智能环境监测与分析平台(附完整源码)
  • GRE及MGRE应用综合实验
  • Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 复杂产品系统集成协同研发平台的研究与实现
  • 【MySQL】MySQL 缓存方案
  • haproxy原理及实战部署
  • Vue3组件通信方法清单
  • CPU 为什么需要缓存?揭开速度与效率的底层逻辑
  • ICMPv6报文类型详解表
  • 如何检查服务器数据盘是否挂载成功?
  • 【Spring AI】大模型服务平台-阿里云百炼
  • 创建 Vue 项目的 4 种主流方式
  • Spark-TTS 使用
  • Caffeine 缓存库的常用功能使用介绍
  • 秋招Day19 - 分布式 - 分布式设计
  • Qt 网络编程进阶:RESTful API 调用
  • setsockopt函数概念和使用案例
  • 以实时语音转文字项目为例,介绍一下如何手动部署python应用到Linux服务器(附脚本)
  • C++:STL中vector的使用和模拟实现
  • 【机器学习-1】特征工程与KNN分类算法
  • CPU(中央处理器)和GPU(图形处理器)的区别
  • 如何理解泊松分布
  • adb 下载并安装
  • 第七章 愿景11 琦琦复盘测试