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

离线安装node.js node-red,及设置为服务注意事项

以下自DeepSeek生成

在Linux内网环境中安装Node-RED,由于无法直接访问互联网,需要采用离线安装方式。以下是详细步骤:


1. 准备离线安装包(在外网机器操作)

(1) 下载Node.js二进制包

  • 访问 Node.js官网 下载对应架构的Linux二进制包(如 node-v18.x.x-linux-x64.tar.xz)。
  • 通过U盘/内部网络传输到内网机器。

(2) 下载Node-RED及依赖

在外网机器上创建缓存目录:

mkdir node-red-offline
cd node-red-offline
npm init -y  # 初始化package.json
npm install node-red  # 安装Node-RED核心
npm install --global-style  # 确保依赖平铺在node_modules

压缩整个目录:

tar -czvf node-red-offline.tar.gz .

node-red-offline.tar.gz 传输到内网机器。


2. 内网机器安装Node.js

# 解压Node.js二进制包
sudo tar -xJvf node-*.tar.xz -C /usr/local --strip-components=1# 验证安装
node -v  # 应输出版本号
npm -v

3. 内网安装Node-RED

(1) 解压离线包

mkdir ~/node-red
tar -xzvf node-red-offline.tar.gz -C ~/node-red
cd ~/node-red

(2) 安装Node-RED

# 使用本地路径安装(无需网络)
npm install --offline --no-audit --prefix ./ ./node-red

(3) 启动Node-RED

# 前台启动
./node_modules/.bin/node-red# 后台启动(使用nohup)
nohup ./node_modules/.bin/node-red > node-red.log &

访问 http://<内网IP>:1880 即可使用。


4. 配置系统服务(可选)

创建服务文件 /etc/systemd/system/node-red.service

[Unit]
Description=Node-RED
After=network.target[Service]
User=your_username  # 改为实际用户
WorkingDirectory=/home/your_username/node-red
ExecStart=/usr/local/bin/node ./node_modules/.bin/node-red
Restart=on-failure[Install]
WantedBy=multi-user.target

启用服务:

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

常见问题解决

  1. 依赖缺失

    • 确保外网打包时使用了 --global-style
    • 在内网手动补缺失模块(需提前下载对应模块的.tgz文件):
      npm install --offline /path/to/module.tgz
      
  2. 端口占用
    修改 ~/.node-red/settings.js 中的 uiPort 参数。

  3. 开机自启失败

    • 检查服务文件中的路径和用户权限。
    • 使用 journalctl -u node-red 查看日志。

关键注意事项

  • 架构一致:确保外网/内网机器的CPU架构(x64/ARM)相同。
  • 防火墙:开放内网机器的 1880 端口。
  • 版本兼容:Node.js版本需兼容Node-RED(推荐LTS版本)。

通过以上步骤,即可在内网Linux环境中完成Node-RED的离线部署。

设置为服务注意事项

  • ExecStart 最好写全部绝对路径:即node.js路径(可用which命令查找) 空格 node-red启动文件路径
  • 如果启动报错检查SELinux状态
# 查看 SELinux 状态
sestatus# 如果是 Enforcing 模式,添加权限
sudo semanage fcontext -a -t bin_t "/root/node-red-offline/node_modules/.bin/node-red"
sudo restorecon -Rv /root/node-red-offline# 或临时禁用(测试用)
sudo setenforce 0
  • 查看日志
# 实时查看日志
journalctl -u node-red -f# 查看一小时内日志
journalctl -u node-red --since "1 hour ago"
http://www.njgz.com.cn/news/823.html

相关文章:

  • 北航操作系统上机实验使用vscode指南
  • Go 实现图像预处理 + OCR 的验证码识别流程
  • 7.27随笔
  • 实现图像预处理 + OCR 的验证码识别流程
  • 当 think 遇上 tool:深入解析 Agent 的规划之道
  • nonono
  • 2025.7.27学习日记
  • PG系列:PG数据库中分析操作系统IO是否正常
  • 【音频硬件相关】喇叭的阻值——了解阻抗:万用表测喇叭,测的是什么?
  • 【音频硬件相关】常见的模拟输出的硅麦
  • 免费SANS网络研讨会:IOC优先级评估与事件响应决策
  • 使用Amazon Bedrock和Amazon Transcribe构建AI驱动的自动化会议摘要系统
  • 【音频硬件相关】喇叭上的阻值和功率
  • 十木轻创:卖虚拟资料哪个平台好?小红书做这 5 个小项目,宝妈网上也能创业
  • 第二十二天
  • 十木轻创:有人偷偷挣了5.7个!干货全在这里。如何靠手机壁纸创收
  • 熔断降级(Go语言实现)
  • Vue + Node.js 全栈开发实战:构建现代化前端应用
  • Go语言的plugin
  • PandasAI连接LLM进行智能数据分析
  • 子序列中任意两个相邻元素的差值不超过 k的子序列个数
  • 低精度算术提升机器人定位效率 - 亚马逊科学团队技术创新
  • STM32F103C8T6芯片介绍(上) - LI,Yi
  • Lambda表达式你真的懂了嘛
  • DooTask 部署教程(windows)
  • KTT
  • AWS证书管理器现支持导出公钥证书 - 增强混合环境TLS管理能力
  • Go 源码编译流程
  • OI集训 Day11
  • 实操使用 go pprof 对生产环境进行性能分析(问题定位及代码优化)