本教程适用于 Debian/Ubuntu/CentOS/Rocky/AlmaLinux 系统 + 宝塔面板环境,采用「系统一键脚本安装 Hub + 宝塔反向代理绑定域名」方案,与宝塔现有站点管理体系兼容性最佳。
一、安装 Hub 主程序
宝塔支持的主流 Linux 发行版均自带 systemd,直接使用官方一键脚本安装即可。
- 打开宝塔面板左侧「终端」,可按需选择以下任意一种执行方式:
分步执行(便于排错)
curl -fsSL -o install-hub.sh https://github.com/monitor-probe/monitor/releases/latest/download/install-hub.sh
chmod +x install-hub.sh
sudo ./install-hub.sh
合并一键执行
curl -fsSL -o install-hub.sh https://github.com/monitor-probe/monitor/releases/latest/download/install-hub.sh && chmod +x install-hub.sh && sudo ./install-hub.sh
全自动免交互执行(跳过菜单选择,直接按默认配置安装)
curl -fsSL -o install-hub.sh https://github.com/monitor-probe/monitor/releases/latest/download/install-hub.sh && chmod +x install-hub.sh && sudo ./install-hub.sh -y
- 脚本弹出菜单后,选择「1 安装 / 升级」,端口提示直接回车,使用默认
28080即可。 - 安装完成后,终端会输出一行
Emergency password: xxxxxxxxxxxxxxxx,务必复制保存好这组应急密码,这是初始登录凭证。
说明:安装完成后 Hub 默认仅监听
127.0.0.1:28080,公网无法直接访问,必须通过宝塔配置反向代理对外提供服务。
二、配置反向代理(核心步骤)
1. 新建站点
进入宝塔面板 → 网站 → 添加站点:
- 域名:填写监控面板的访问域名(例如
hub.yourdomain.com) - 根目录:随意选择
- PHP 版本:选「纯静态」
- 数据库:不创建
- FTP:不创建 点击「提交」。
2. 添加反向代理
进入该站点的「设置」→ 反向代理 → 点击「添加反向代理」:
- 代理名称:随意填写(如
monitor-hub) - 目标 URL:
http://127.0.0.1:28080 - 发送域名:
$host点击「提交」。
说明:部分宝塔版本无可视化「WebSocket 开关」,无需纠结,下一步手动修正配置会一次性补全所有必要参数,效果完全一致。
3. 修正配置文件(必须操作,否则功能异常)
宝塔默认生成的反向代理配置缺少必要请求头,会导致节点掉线、添加按钮置灰、上传失败等问题,需手动补充。
进入站点设置 → 配置文件,找到反向代理自动生成的 location / { ... } 代码块,整块替换为以下内容:
location / {
proxy_pass http://127.0.0.1:28080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forward_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_buffering off;
proxy_read_timeout 1h;
proxy_send_timeout 1h;
client_max_body_size 8m;
gzip off;
}
关键参数说明
X-Forwarded-Proto:最核心参数,没有它会话 Cookie 无Secure标志,「添加节点」按钮会置灰不可用Upgrade/Connection+ 1 小时超时:保障 WebSocket 长连接稳定,避免节点周期性掉线重连client_max_body_size 8m:解决导入备份、上传主题时报 413 错误gzip off:关闭反向代理层压缩,避免节点地址信息泄露
⚠️ 重要提醒:修改完配置文件保存后,不要再进入反向代理的编辑表单里点保存,否则宝塔会重新生成默认配置,覆盖你添加的自定义参数。
4. 配置 SSL 证书
进入站点设置 → SSL,申请 Let’s Encrypt 免费证书,并开启「强制 HTTPS」。
必须启用 HTTPS,否则无法正常添加节点、会话 Cookie 不安全。
验证配置是否生效
配置完成后,可在宝塔终端执行以下命令,返回 101 说明 WebSocket 转发正常:
curl -s --http1.1 --max-time 3 -o /dev/null -w '%{http_code}\n' \
-H 'Connection: Upgrade' -H 'Upgrade: websocket' \
-H 'Sec-WebSocket-Version: 13' \
-H 'Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==' \
https://你的域名/api/ws
三、初始化管理面板
- 浏览器访问
https://你的域名/admin,使用之前保存的应急密码登录。 - 进入左侧「安全」页面,修改应急密码为自定义密码(至少 12 位)。
- 进入「设置」页面,填写站点名称、上传图标,按需设置是否开启公开状态页。
四、接入被监控节点
- 在面板左侧「节点」页面,点击「添加节点」,输入节点名称。
- 点击该行的下载图标,复制生成的安装命令。
- 在被监控的机器上以 root 身份执行该命令,几秒后节点就会在线显示数据。
常见问题排查
- 「添加节点」按钮是灰色
- 确认地址栏是
https://开头,不能用 http 明文访问 - 强制刷新页面(
Ctrl+F5)清空浏览器缓存 - 核对配置文件中是否正确添加了
proxy_set_header X-Forwarded-Proto $scheme; - 确认后在站点设置里点「重载配置」
- 确认地址栏是
- 节点频繁掉线重连
- 检查配置文件中 WebSocket 相关参数和 1 小时超时是否正确配置
- 确认保存后未被宝塔反向代理表单覆盖配置
- 上传备份 / 主题报 413 错误
- 在配置文件中添加
client_max_body_size 8m;
- 在配置文件中添加
- 忘记应急密码
- 在宝塔终端执行
sudo ./install-hub.sh --reset-password即可重置
- 在宝塔终端执行
备选:Docker 方式部署 Hub
如果偏好容器化管理,可先在宝塔软件商店安装「Docker 管理器」,再在终端执行:
docker run -d --name monitor --restart unless-stopped \
-p 127.0.0.1:28080:28080 -v monitor-data:/data -e TZ=Asia/Shanghai \
stqfdyr/monitor
查看应急密码:
docker logs monitor | grep Emergency
后续反向代理配置与上述步骤完全一致。



