日常管理云服务器时,我们经常要通过 SSH 登录,再用 top、free、df 等命令查看 CPU、内存和磁盘情况。只有一台服务器还好,VPS、网站服务器和 Docker 主机一多,逐台检查就比较费时间。
Beszel 可以把这些服务器放进同一个 Web 面板,查看当前状态和历史变化,也能监控 Docker 容器。本教程使用 Docker Compose 部署 Beszel Hub,再在需要监控的服务器上部署 Agent。

一、Beszel 是怎么工作的?
Beszel 采用 Hub + Agent 的方式运行。Hub 提供管理后台并保存监控数据;Agent 安装在目标服务器上,负责采集系统和容器信息。
先部署一套 Hub,再给每台需要监控的服务器安装 Agent,就可以集中查看 CPU、内存、磁盘、网络等指标。个人 VPS、多台云服务器、Docker 主机和小规模业务服务器都可以使用。
二、准备搭建环境本次使用 Linux 云服务器部署 Hub,参考环境如下:
| 项目 | 参考配置 |
| CPU | 1 核及以上 |
| 内存 | 1GB 及以上 |
| 硬盘 | 20GB 及以上 |
| 系统 | Debian 12 |
| 部署方式 | Docker Compose |
| Hub 默认端口 | 8090 |
| Agent 默认监听端口 | 45876 |
本次演示使用莱卡云 Linux 云服务器。仅部署 Hub、监控少量机器时,可以先从基础配置开始;如果同一台服务器还运行网站、数据库等项目,应给原有业务留足资源。
莱卡云官网:查看云服务器
新客福利:新用户使用本站专属莱卡云优惠码idcspy购买官网任意产品享8.5折!续费同价!
三、安装 Docker 并创建项目目录服务器需要提前安装 Docker 和 Docker Compose。已经安装的,可以先检查版本:
docker --version docker compose version
两个命令都能正常返回版本信息后,创建 Hub 目录:
mkdir -p /opt/beszel cd /opt/beszel
Hub 的 Compose 文件和持久化数据都放在这个目录中,后期升级、备份和迁移会更方便。
四、部署 Beszel Hub在 /opt/beszel 中创建配置文件:
nano docker-compose.yml
写入以下内容,注意保留 YAML 缩进:
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
environment:
APP_URL: http://服务器IP:8090
ports:
- "8090:8090"
volumes:
- ./beszel_data:/beszel_data
将 APP_URL 中的服务器IP改为实际访问 Hub 使用的地址。例如,服务器 IP 为 192.0.2.10,就填写 http://192.0.2.10:8090;以后配置了域名和 HTTPS,再改成对应的域名地址。
./beszel_data用于保存 Hub 数据,升级或重新创建容器时不要删除。上述目录挂载、APP_URL和 8090 端口与 Beszel 当前的 Docker 部署方式一致。
启动 Hub:
docker compose up -d docker compose ps
如果启动失败,查看最近的日志:
docker compose logs --tail=100
需要持续观察时使用:
docker compose logs -f

浏览器访问:
http://服务器IP:8090
首次进入时,按照页面提示创建管理员账号。建议使用独立的高强度密码,不要与服务器登录密码相同。

先在 Hub 所在服务器测试本机访问:
curl -v http://127.0.0.1:8090 ss -lntp | grep 8090 docker compose ps
如果本机能访问、公网打不开,再检查云服务器安全组和系统防火墙是否允许 8090 端口。若容器没有正常运行,优先查看 Compose 日志。这里仅建议在初次测试时开放必要访问;长期使用可以配置域名、HTTPS,并限制后台访问来源。
六、在 Hub 中添加服务器登录后台,点击 Add System,按照页面提示添加要监控的服务器。Beszel 会提供 Agent 所需的连接配置,其中常见参数包括:
- KEY:Hub 提供的公钥;
- TOKEN:Agent 注册或认证使用的令牌;
- HUB_URL:Agent 连接 Hub 所使用的地址。
这些内容应从自己的 Beszel 后台获取。官方也提供可复制的 Agent Compose 配置,实际部署时优先使用后台生成的内容,不要自行编造密钥或令牌。

登录需要被监控的服务器,创建目录:
mkdir -p /opt/beszel-agent cd /opt/beszel-agent nano docker-compose.yml
写入以下配置:
services:
beszel-agent:
image: henrygd/beszel-agent:latest
container_name: beszel-agent
restart: unless-stopped
network_mode: host
volumes:
- ./beszel_agent_data:/var/lib/beszel-agent
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: 45876
KEY: "<Beszel 后台生成的公钥>"
HUB_URL: "<Beszel Hub 地址>"
TOKEN: "<Beszel 后台生成的令牌>"
把尖括号中的内容替换为自己后台生成的实际值,再启动 Agent:
docker compose up -d docker compose ps
查看日志:
docker compose logs --tail=100
配置正常后,稍等片刻,Hub 后台就能看到对应服务器的状态。上述参数和目录结构与 Beszel 官方的 Docker Agent 示例一致。

配置中的:
- /var/run/docker.sock:/var/run/docker.sock:ro
用于让 Agent 获取宿主机的 Docker 容器信息。:ro表示以只读方式挂载,但 Docker Socket 仍属于敏感接口,应只在可信服务器上使用,并妥善保护 Agent 容器。
如果不需要监控 Docker 容器,可以去掉这行挂载,继续使用普通的服务器资源监控。
为什么使用 host 网络?官方示例使用 network_mode: host,主要是为了获取宿主机网络接口的统计信息。使用这一模式时,Agent 的监听端口会直接作用于宿主机,不需要再写 ports 映射。若要调整端口,可以修改 LISTEN,然后重新运行 docker compose up -d。
另外,Beszel 支持 Hub 主动连接 Agent,也支持 Agent 主动通过 WebSocket 连接 Hub。实际需要放行哪些端口,应结合后台采用的连接方式判断,不要默认把 45876 向整个公网开放。
八、查看服务器监控数据Agent 上线后,可以在 Hub 中查看服务器的 CPU、系统负载、内存、Swap、磁盘、网络流量,以及 Docker 容器的运行情况。
例如,网站偶尔变慢,可以回看当时 CPU 是否升高;磁盘空间不足,可以观察容量是持续增长还是突然变化。相比临时登录服务器执行命令,历史图表更适合追查问题发生的时间。

先在 Agent 所在服务器确认容器是否运行,再看日志:
docker compose ps docker compose logs --tail=100
接着逐项核对:
- KEY、TOKEN是否与 Hub 后台生成的内容一致;
- HUB_URL是否为 Agent 能够访问的地址;
- Agent 使用的监听端口是否与 Hub 中填写的一致;
- 系统防火墙和云服务器安全组是否拦截了当前连接方式;
- 如果通过反向代理连接 Hub,代理是否正确处理 WebSocket。
Beszel 的两种连接方式方向不同:Hub 主动连接 Agent 时,要检查 Hub 到 Agent 的端口;Agent 主动连接 Hub 时,要检查 Agent 到 Hub 地址的访问。按实际使用的方式排查,比一味开放端口更有效。
十、配置域名和 HTTPS临时测试可以使用 http://服务器IP:8090。准备长期使用时,可以将域名解析到 Hub 服务器,使用 Nginx 等 Web 服务反向代理至 127.0.0.1:8090,并配置 HTTPS。
完成后,把 Hub Compose 文件中的 APP_URL 改为实际地址:
APP_URL: https://monitor.example.com
再执行:
docker compose up -d
如果 Agent 通过 WebSocket 连接,反向代理还需要正确转发 WebSocket 请求,否则可能出现后台正常打开、Agent却无法上线的情况。Beszel 官方提供了对应的反向代理配置示例。
十一、安全、更新与备份Beszel 是服务器监控后台,不建议在没有保护措施的情况下长期暴露到公网。至少应做好以下几点:
- 使用独立的高强度管理员密码;
- 配置 HTTPS,并按需限制后台访问来源;
- 不要公开 KEY、TOKEN和管理员凭据;
- 只开放当前连接方式需要的端口;
- 定期更新 Hub、Agent并备份 Hub 数据。
更新 Hub 时,在其目录执行:
cd /opt/beszel docker compose pull docker compose up -d docker compose ps
Agent 可在 /opt/beszel-agent 目录使用相同方式更新。升级前建议先备份,确认 Hub 和 Agent 更新后都能正常连接。
按照本文的配置,Hub 数据位于 /opt/beszel/beszel_data。需要做一致性备份或迁移时,可先安排短暂停机:
cd /opt/beszel docker compose down cd /opt tar -czf beszel-backup-$(date +%Y%m%d).tar.gz beszel/
备份完成后回到项目目录启动:
cd /opt/beszel docker compose up -d
备份文件还应保存到另一台服务器或其他独立位置,不要只留在当前 VPS 上。
相关阅读:
《Docker部署Komga教程:使用莱卡云自建漫画和电子书服务器》
《Hostinger VPS使用Docker安装Langflow教程》
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)
微信扫码加好友进群
主机优惠码及时掌握
QQ群号:938255063
主机优惠发布与交流




