# LinkMaster 节点端安装指南 ## 一句话安装 ### 从 GitHub 安装(推荐) ```bash curl -fsSL https://raw.githubusercontent.com/yourbask/linkmaster-node/main/install.sh | bash -s -- http://your-backend-server:8080 ``` **替换说明:** - `yourbask/linkmaster-node` - 独立的 node 项目 GitHub 仓库地址 - `http://your-backend-server:8080` - 替换为实际的后端服务器地址 **重要提示:** - ⚠️ 节点端需要直接连接后端服务器(端口 8080),不是前端地址 - 前端通过 `/api` 路径代理到后端,但节点端不使用前端代理 - 如果节点和后端在同一服务器:使用 `http://localhost:8080` - 如果节点和后端在不同服务器:使用 `http://backend-ip:8080` 或 `http://backend-domain:8080` - **本项目是独立的 GitHub 仓库**,与前后端项目分离 **示例:** ```bash # 如果后端服务器在 192.168.1.100:8080 curl -fsSL https://raw.githubusercontent.com/yourbask/linkmaster-node/main/install.sh | bash -s -- http://192.168.1.100:8080 ``` ### 指定分支安装 ```bash GITHUB_BRANCH=develop curl -fsSL https://raw.githubusercontent.com/yourbask/linkmaster-node/main/install.sh | bash -s -- http://your-backend-server:8080 ``` ## 安装步骤说明 安装脚本会自动完成以下步骤: 1. **检测系统** - 自动识别 Linux 发行版和 CPU 架构 2. **安装依赖** - 自动安装 Git、Go、ping、traceroute、dnsutils 等工具 3. **下载发布包** - 从 Releases 下载预编译发布包(包含二进制文件和所有脚本) 4. **提取文件** - 从发布包提取所有文件到 `/opt/linkmaster-node`(无需克隆 Git) 5. **编译安装** - 如果下载失败,自动从源码编译安装 6. **创建服务** - 自动创建 systemd 服务文件(使用 run.sh 启动) 7. **启动服务** - 自动启动并设置开机自启 8. **验证安装** - 检查服务状态和健康检查 **重要说明:** - ✅ **新格式发布包**:包含二进制文件、安装脚本、运行脚本等所有必要文件,安装时直接从压缩包提取,无需克隆 Git 仓库 - ✅ **向后兼容**:如果发布包是旧格式(仅包含二进制文件),安装脚本会自动从 Git 克隆获取脚本文件 - ⚠️ **源码编译模式**:如果下载失败,会从 Git 克隆源码并编译(需要网络连接) ## 安装后管理 ### 查看服务状态 ```bash sudo systemctl status linkmaster-node ``` ### 查看日志 ```bash # 实时日志 sudo journalctl -u linkmaster-node -f # 最近50行日志 sudo journalctl -u linkmaster-node -n 50 ``` ### 重启服务 ```bash sudo systemctl restart linkmaster-node ``` ### 停止服务 ```bash sudo systemctl stop linkmaster-node ``` ### 禁用开机自启 ```bash sudo systemctl disable linkmaster-node ``` ## 验证安装 ### 检查进程 ```bash ps aux | grep linkmaster-node ``` ### 检查端口 ```bash netstat -tlnp | grep 2200 # 或 ss -tlnp | grep 2200 ``` ### 健康检查 ```bash curl http://localhost:2200/api/health ``` 应该返回:`{"status":"ok"}` ## 手动安装(不使用脚本) 如果无法使用一键安装脚本,可以手动安装: ### 方式一:从发布包安装(推荐) **优点**:无需 Git 和 Go 环境,直接使用预编译文件 ```bash # 1. 下载发布包(替换为实际版本和平台) wget https://gitee.nas.cpolar.cn/yoyo/linkmaster-node/releases/download/v1.1.4/agent-linux-amd64-v1.1.4.tar.gz # 2. 解压 tar -xzf agent-linux-amd64-v1.1.4.tar.gz cd agent-linux-amd64-v1.1.4 # 3. 复制文件到安装目录 sudo mkdir -p /opt/linkmaster-node sudo cp -r * /opt/linkmaster-node/ sudo chmod +x /opt/linkmaster-node/agent sudo chmod +x /opt/linkmaster-node/*.sh # 4. 复制二进制文件到系统目录 sudo cp /opt/linkmaster-node/agent /usr/local/bin/linkmaster-node sudo chmod +x /usr/local/bin/linkmaster-node # 5. 创建配置文件(从示例复制) sudo cp /opt/linkmaster-node/config.yaml.example /opt/linkmaster-node/config.yaml # 编辑配置文件,设置后端地址 sudo nano /opt/linkmaster-node/config.yaml # 6. 创建 systemd 服务(参考下面的服务配置) ``` ### 方式二:克隆源码并编译 ```bash # 克隆仓库 git clone https://github.com/yourbask/linkmaster-node.git /opt/linkmaster-node cd /opt/linkmaster-node # 安装 Go 环境(如果未安装) # Ubuntu/Debian sudo apt-get install -y golang-go # CentOS/RHEL sudo yum install -y golang # 编译 go build -o agent ./cmd/agent # 安装到系统目录 sudo cp agent /usr/local/bin/linkmaster-node sudo chmod +x /usr/local/bin/linkmaster-node ``` ### 2. 安装系统依赖 ```bash # Ubuntu/Debian sudo apt-get update sudo apt-get install -y ping traceroute dnsutils curl # CentOS/RHEL sudo yum install -y iputils traceroute bind-utils curl ``` ### 3. 创建 systemd 服务 ```bash # 确保 run.sh 有执行权限 sudo chmod +x /opt/linkmaster-node/run.sh sudo tee /etc/systemd/system/linkmaster-node.service > /dev/null <