#!/bin/bash
# 1. 安装 Node.js
echo "安装 Node.js..."
# 假设你已经下载了 node-v20.x.x-linux-x64.tar.xz 文件
# 修改成你实际存放文件的路径
NODE_TAR="/path/to/node-v20.5.1-linux-x64.tar.xz"
DEST_DIR="/usr/local/nodejs"
if [ ! -f "$NODE_TAR" ]; then
echo "未找到 Node.js 安装包,请确保已下载 .tar.xz 文件"
exit 1
fi
# 解压 Node.js
echo "解压 Node.js..."
tar -xf $NODE_TAR -C /usr/local
# 配置环境变量
echo "配置环境变量..."
echo 'export PATH=/usr/local/nodejs/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 验证 Node.js 是否安装成功
echo "验证 Node.js 安装..."
node -v
npm -v
if [ $? -ne 0 ]; then
echo "Node.js 安装失败"
exit 1
fi
# 2. 安装 Node-RED
echo "安装 Node-RED..."
# 假设你已经下载了 node-red-3.1.0.tgz 文件
# 修改成你实际存放文件的路径
NODE_RED_TAR="/path/to/node-red-3.1.0.tgz"
if [ ! -f "$NODE_RED_TAR" ]; then
echo "未找到 Node-RED 安装包,请确保已下载 .tgz 文件"
exit 1
fi
# 离线安装 Node-RED
echo "离线安装 Node-RED..."
npm install -g --unsafe-perm $NODE_RED_TAR
# 3. 配置 Node-RED 为开机自启
echo "配置 Node-RED 开机自启..."
cat <<EOF > /etc/systemd/system/node-red.service
[Unit]
Description=Node-RED
After=network.target
[Service]
ExecStart=/usr/local/nodejs/bin/node-red
Restart=always
User=$USER
Environment="HOME=/home/$USER"
WorkingDirectory=/home/$USER
[Install]
WantedBy=multi-user.target
EOF
# 重新加载 systemd 配置
echo "重新加载 systemd 配置..."
sudo systemctl daemon-reload
# 设置 Node-RED 开机自启
echo "启用 Node-RED 开机自启..."
sudo systemctl enable node-red
# 启动 Node-RED 服务
echo "启动 Node-RED 服务..."
sudo systemctl start node-red
# 4. 验证 Node-RED 是否运行
echo "验证 Node-RED 是否成功启动..."
sudo systemctl status node-red
if [ $? -eq 0 ]; then
echo "Node-RED 启动成功"
else
echo "Node-RED 启动失败,请检查日志"
fi
echo "安装完成"
使用说明:
- 将这个脚本保存为
install_node_red.sh
文件。
- 先确保你已经在一台联网的机器上下载了 Node.js 和 Node-RED 的压缩包。
- 将 Node.js 和 Node-RED 的
.tar.xz
和 .tgz
文件通过 U 盘或者局域网传输到目标 Ubuntu 机器。
- 在目标机器上运行以下命令来执行脚本:
chmod +x install_node_red.sh
./install_node_red.sh
脚本功能:
- 安装 Node.js:从本地
.tar.xz
包安装并配置环境变量。
- 安装 Node-RED:从本地
.tgz
包安装 Node-RED。
- 设置 Node-RED 为开机自启:将 Node-RED 配置为开机自动启动。
- 启动 Node-RED 服务:启动并检查 Node-RED 服务是否正常运行。