ubuntu安装node-red
安装nvm
在 Ubuntu 系统上,可以通过以下几种方法来安装 nvm
(Node Version Manager):
方法 1: 使用官方脚本安装
这是最常见和推荐的方法。使用 curl
或 wget
来下载并运行安装脚本。
使用 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
文件
-
打开
.bashrc
文件:
使用nano或者别的文本编辑其打开~/.bashrc
文件。这里使用nano
作为示例:nano ~/.bashrc
-
添加 nvm 加载代码:
在文件末尾添加以下内容:export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
-
保存并退出:
- 在
nano
中,按Ctrl+X
。 - 然后按
Y
确认保存。 - 最后按
Enter
退出。
- 在
-
重新加载
.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 在系统启动时自动运行。
-
创建 Systemd 服务文件:
创建一个新的 Systemd 服务文件。假设你的用户是your-username
,Node-RED 安装在全局目录中。sudo nano /etc/systemd/system/nodered.service
-
编辑服务文件:
将以下内容粘贴到文件中,并根据需要进行修改:
注意: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 可执行文件。
-
重新加载 Systemd 配置:
保存并关闭文件后,重新加载 Systemd 配置以应用更改:sudo systemctl daemon-reload
-
启用并启动服务:
启用服务以便在系统启动时自动运行,并立即启动它:sudo systemctl enable nodered.service sudo systemctl start nodered.service
-
检查服务状态:
检查服务是否正在运行:
$ 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
-
添加 @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
:指定日志文件路径。
-
保存并退出:
保存并退出编辑器(在nano
中按Ctrl+X
,然后按Y
确认保存)。
方法 3: 使用 PM2 进程管理器
PM2 是一个流行的 Node.js 进程管理器,可以帮助你轻松地管理和保持 Node-RED 服务的运行。
-
安装 PM2:
全局安装 PM2:npm install -g pm2
-
启动 Node-RED 并使用 PM2 管理:
使用 PM2 启动 Node-RED:pm2 start /usr/local/bin/node-red --name node-red
-
设置开机自启:
使用 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
-
检查 PM2 状态:
检查 PM2 管理的服务状态:pm2 list