首页 > 系统相关 >ubuntu安装node-red

ubuntu安装node-red

时间:2024-10-02 12:01:34浏览次数:7  
标签:node Node red ubuntu nvm 安装 RED

ubuntu安装node-red

安装nvm

在 Ubuntu 系统上,可以通过以下几种方法来安装 nvm(Node Version Manager):

方法 1: 使用官方脚本安装

这是最常见和推荐的方法。使用 curlwget 来下载并运行安装脚本。

使用 curl 安装

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

使用 wget 安装

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

方法 2: 手动安装

手动下载、解压并配置 nvm

1. 克隆 nvm 仓库:

git clone https://github.com/nvm-sh/nvm.git ~/.nvm

2. 加载 nvm:

检查和配置 .bashrc 文件
  1. 打开 .bashrc 文件:
    使用nano或者别的文本编辑其打开 ~/.bashrc 文件。这里使用 nano 作为示例:

    nano ~/.bashrc
    
  2. 添加 nvm 加载代码:
    在文件末尾添加以下内容:

    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    
  3. 保存并退出:

    • nano 中,按 Ctrl+X
    • 然后按 Y 确认保存。
    • 最后按 Enter 退出。
  4. 重新加载 .bashrc 文件:
    运行以下命令以应用更改:

    source ~/.bashrc
    

3.验证安装

安装完成后,通过以下命令验证 nvm 是否已正确安装:

$ nvm --version
0.40.1

安装 Node.js

nvm 安装成功后,可以使用它来安装特定版本的 Node.js。例如,安装最新的 LTS 版本:

$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v20.17.0...
Downloading https://nodejs.org/dist/v20.17.0/node-v20.17.0-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.17.0 (npm v10.8.2)
Creating default alias: default -> lts/* (-> v20.17.0)

设置默认的 Node.js 版本:

$ nvm use --lts
Now using node v20.17.0 (npm v10.8.2)
$ nvm alias default 20.17.0
default -> 20.17.0 (-> v20.17.0)

安装 Node-RED

最后,全局安装 Node-RED:

sudo npm install -g --unsafe-perm node-red

安装完成,启动node-red

$ node-red
2 Oct 11:29:41 - [info] 

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

2 Oct 11:29:41 - [info] Node-RED version: v4.0.3
2 Oct 11:29:41 - [info] Node.js  version: v20.17.0
2 Oct 11:29:41 - [info] Linux 5.15.0-117-generic x64 LE
2 Oct 11:29:41 - [info] Loading palette nodes
...

设置成自启动

几种常见的方法:

方法 1: 使用 Systemd 服务(推荐)

Systemd 是大多数现代 Linux 发行版的初始化系统和服务管理器。通过创建一个 Systemd 服务,你可以确保 Node-RED 在系统启动时自动运行。

  1. 创建 Systemd 服务文件:
    创建一个新的 Systemd 服务文件。假设你的用户是 your-username,Node-RED 安装在全局目录中。

    sudo nano /etc/systemd/system/nodered.service
    
  2. 编辑服务文件:
    将以下内容粘贴到文件中,并根据需要进行修改:
    注意:Environment栏配置nvm环境变量。

    [Unit]
    Description=Node-RED Server
    After=network.target
    
    [Service]
    User=your-username
    WorkingDirectory=/home/your-username
    Environment="PATH=/usr/local/bin:/home/your-username/.nvm/versions/node/v20.17.0/bin:$PATH"
    ExecStart=/usr/local/bin/node-red
    Restart=on-failure
    Environment=NODE_OPTIONS=--max-old-space-size=512
    
    [Install]
    WantedBy=multi-user.target
    
    • User=your-username:将 your-username 替换为你的用户名。
    • WorkingDirectory=/home/your-username:设置工作目录为你用户的主目录。
    • ExecStart=/usr/local/bin/node-red:确保路径正确指向你安装的 Node-RED 可执行文件。
  3. 重新加载 Systemd 配置:
    保存并关闭文件后,重新加载 Systemd 配置以应用更改:

    sudo systemctl daemon-reload
    
  4. 启用并启动服务:
    启用服务以便在系统启动时自动运行,并立即启动它:

    sudo systemctl enable nodered.service
    sudo systemctl start nodered.service
    
  5. 检查服务状态:
    检查服务是否正在运行:

$ sudo systemctl status nodered.service
● nodered.service - Node-RED Server
Loaded: loaded (/etc/systemd/system/nodered.service; enabled; vendor prese>
Active: active (running) since Wed 2024-10-02 11:53:59 CST; 9s ago
Main PID: 2810 (node-red)
Tasks: 11 (limit: 1917)
Memory: 47.1M
CPU: 1.134s
CGroup: /system.slice/nodered.service
└─2810 node-red


### 方法 2: 使用 Cron 的 @reboot

如果你不想使用 Systemd,可以使用 Cron 的 `@reboot` 来实现类似的功能。

1. **编辑 Cron 表**:
打开当前用户的 Cron 表:

```bash
crontab -e
  1. 添加 @reboot 条目:
    添加以下行以在系统启动时运行 Node-RED:

    @reboot /usr/local/bin/node-red >> /home/your-username/node-red.log 2>&1
    
    • /usr/local/bin/node-red:确保路径正确指向你安装的 Node-RED 可执行文件。
    • /home/your-username/node-red.log:指定日志文件路径。
  2. 保存并退出:
    保存并退出编辑器(在 nano 中按 Ctrl+X,然后按 Y 确认保存)。

方法 3: 使用 PM2 进程管理器

PM2 是一个流行的 Node.js 进程管理器,可以帮助你轻松地管理和保持 Node-RED 服务的运行。

  1. 安装 PM2:
    全局安装 PM2:

    npm install -g pm2
    
  2. 启动 Node-RED 并使用 PM2 管理:
    使用 PM2 启动 Node-RED:

    pm2 start /usr/local/bin/node-red --name node-red
    
  3. 设置开机自启:
    使用 PM2 设置 Node-RED 开机自启:

    pm2 startup
    pm2 save
    

    pm2 startup 会生成一个命令,你需要复制并运行该命令以设置 PM2 开机自启。例如:

    sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u your-username --hp /home/your-username
    
  4. 检查 PM2 状态:
    检查 PM2 管理的服务状态:

    pm2 list
    
方法1测试成功,2.3没测试。

标签:node,Node,red,ubuntu,nvm,安装,RED
From: https://www.cnblogs.com/PrepAndPonder/p/18444544

相关文章

  • Docker配置代理访问网络ubuntu24.04
    本文将详细介绍如何根据系统代理配置,正确设置Docker的代理环境变量,使其能够通过代理服务器进行网络访问。一、查看系统代理配置首先,我们查看了系统的代理配置:以下是图片内容的文字描述:Proxy设置NetworkProxy:已开启Configuration:手动(Manual)HTTPProxyURL:12......
  • 【Ubuntu】PlantUML工具 | 安装 | 语法 | 使用工具画序列图
    ......
  • ubuntu nginx 配置端口
    ubuntunginx配置端口在Ubuntu上配置Nginx监听端口,你需要编辑Nginx的配置文件。默认情况下,配置文件通常位于/etc/nginx/sites-available/default。以下是如何更改Nginx配置以监听特定端口的步骤:打开终端。输入以下命令以编辑默认的Nginx配置文件:sudonano/etc/nginx/sites-a......
  • 10_shard&replica机制再次梳理以及单node环境中创建index图解
    1、shard&replica机制再次梳理2、图解单node环境下创建index是什么样子的1、shard&replica机制再次梳理(1)index包含多个shard(2)每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力(3)增减节点时,shard会自动在nodes中负载均衡(4)primaryshard和......
  • mybatis xml里的 resultMap、resultOrdered、resultSets、resultSetType、resultType
    在MyBatis中,映射结果集是一项重要的功能,用于将数据库查询结果映射到Java对象中。为了实现这一功能,MyBatis提供了多个配置选项,如resultMap、resultOrdered、resultSets、resultSetType和resultType。以下是这些配置选项的详细解释及示例:1.resultTyperesultType是最简单的结......
  • leetcode24 两两交换链表中的节点(swap-nodes-in-pairs)
    题目描述:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1] 提示:链表中节点的数......
  • 基于nodejs+vue学生网课学习数据分析与展示系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和全球疫情的持续影响,在线教育已成为教育领域的重要组成部分。各大教育平台纷纷推出网课服务,以满足广大学生在家学习的需求。然而,......
  • 基于nodejs+vue学生网上请假系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和教育信息化的不断推进,传统的学生请假流程逐渐暴露出效率低下、管理不便等问题。传统的请假方式通常涉及纸质申请、人工审批等多个......
  • 基于nodejs+vue学生心理健康系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在当今社会,随着教育竞争的日益激烈和生活节奏的加快,学生面临的学业压力、人际关系、未来规划等多重压力日益增大,心理健康问题已成为不容忽视的社会现象。学......
  • 教你如何免费获取股票数据用python、JavaScript (Node.js)、JAVA等多种语言的实例代码
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......