作为开发者,没有什么比听到愤怒的用户告诉你你的网站无法访问更糟糕的事情了。通常,直到有人投诉之前,你都不会知道自己的服务器出现了故障。
虽然许多SaaS工具可以监控你的网站,但它们往往会为提供简单的警报服务收取高额的月费。
撰写这篇文章的目的就是通过向您介绍一个强大、免费且开源的替代方案——Uptime Kuma,来帮助您避免支付这些高昂的费用。
在本指南中,您将学习如何使用Docker在本地Ubuntu系统上安全地部署Uptime Kuma。
完成本教程后,您只需不到10分钟的时间,就能设置好自己的私有服务器监控面板,并且还可以创建自动化的Discord警报机制,以便在网站无法访问时及时收到通知。
目录
先决条件
在开始之前,请确保您已经具备以下条件:
-
一台Ubuntu系统机器(可以是本地服务器、虚拟机或桌面电脑)。
-
已安装Docker及Docker Compose工具。
-
具备基本的Linux终端使用知识。
步骤1:更新软件包并配置防火墙
首先,您需要确保您的系统已经安装了最新的软件包更新。接下来,您需要安装Uncomplicated Firewall(UFW),并打开Uptime Kuma用于数据传输的端口。同时,还需要允许SSH连接,以免导致系统无法正常访问。
在终端中执行以下命令:
- 更新软件包:
sudo apt update && sudo apt upgrade -y
- 安装UFW防火墙:
sudo apt install ufw -y
- 允许SSH连接并打开3001端口:
sudo ufw allow ssh
sudo ufw allow 3001/tcp
- 启用UFW防火墙:
sudo ufw enable
sudo ufw reload
步骤2:创建Docker Compose文件
使用《docker-compose.yml》文件是管理Docker容器的专业方法。这样,您的所有配置信息都可以集中保存在一个文件中,便于管理和维护。
首先,为你的项目创建一个新文件夹并进入该文件夹:
mkdir uptime-kuma && cd uptime-kuma
然后创建配置文件:
nano docker-compose.yml
将以下代码粘贴到编辑器中:
services:
uptime-kuma:
image: louislam/uptime-kuma:2
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- "3001:3001"
注意: 行 ./data:/app/data 非常重要。它会将你的数据库保存在机器上的一个普通文件夹中,这样以后就很容易进行备份了。
最后,保存文件并退出编辑器:按 CTRL + X,然后按 Y,再按 Enter。
步骤 3:启动应用程序
现在,让 Docker 读取你的配置文件,并在后台启动监控服务。
docker compose up -d
如何验证: Docker 会下载这些配置文件。当下载完成后,终端会显示 Started uptime-kuma 这一消息。
步骤 4:访问控制面板
要访问控制面板,请先打开你的网页浏览器,然后访问 http://localhost:3001(或者你的机器的本地 IP 地址)。
当系统要求你选择数据库时,请选择 SQLite。这种数据库简单易用、运行速度快,而且不需要额外的配置。
接下来创建一个账户,并设置一个安全的管理员用户名和密码。

步骤 5:使用案例——监控网站并发送 Discord 警告
现在,你可以通过监控一个实时运行的网站并设置警报来使用 Uptime Kuma。只需按照以下步骤操作即可:
-
点击“添加新监控项”。
-
将监控类型设置为
HTTP(s)。 -
为其指定一个易于理解的名称(例如“我的博客”),然后输入你的网站 URL。

专业提示:如何解决“网站无法访问”的问题(与机器人保护机制相关)
如果你的网站采用了严格的安全措施,它可能会阻止 Uptime Kuma 的运行,并显示 403 禁止访问的错误信息,表明你的网站“无法访问”。
解决方法:向下滚动到“高级设置”选项,找到“用户代理”字段,然后将以下文本粘贴进去,这样 Uptime Kuma 就会看起来像一个普通的 Chrome 浏览器了:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
添加 Discord 警报功能
若希望在网站出现故障时收到手机通知,请按照以下步骤操作:
-
在显示器屏幕的右侧,点击“设置通知”。
-
从下拉列表中选择“Discord”。
-
粘贴 Discord Webhook 的 URL(你可以在 Discord 服务器的“集成”设置中生成该地址)。
-
点击“测试”以接收测试信号,然后点击“保存”。
总结
恭喜!你现在已经能够自主监控服务器的运行状态了。通过使用 Uptime Kuma,你用这个功能强大且免费的监控工具取代了昂贵的 SaaS 订阅服务——它能在项目出现故障的瞬间立即向你发出警报。
让我们保持联系吧!我是一名专注于编写操作指南和工作流程的技术作家。你可以在我的技术写作作品集中查看我的最新项目,也可以直接通过LinkedIn与我联系。

