452 字
2 分钟
Uptime Kuma 部署指南:开源监控工具自托管详解

Uptime Kuma 部署指南:开源监控工具自托管详解#

Uptime Kuma 是一个开源的监控工具,功能类似于 Uptime Robot。相较于其它同类工具,Uptime Kuma 支持自托管服务,并且限制更少。

部署步骤:

1. Docker 部署:

使用以下命令通过 Docker 部署 Uptime Kuma:

Terminal window
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

命令解释:

  • docker run: 运行 Docker 容器。
  • -d: 在后台运行容器。
  • --restart=always: 容器意外停止时自动重启。
  • -p 3001:3001: 将容器的 3001 端口映射到主机的 3001 端口。
  • -v uptime-kuma:/app/data: 将主机上的 uptime-kuma 目录挂载到容器的 /app/data 目录,用于持久化数据。
  • --name uptime-kuma: 为容器指定名称为 uptime-kuma
  • louislam/uptime-kuma:1: 使用 louislam/uptime-kuma 镜像的 1.0 版本。

2. Apache 反向代理配置:

配置 Apache 反向代理,将流量转发到 Uptime Kuma 容器。

步骤:

  1. 找到 Apache 配置文件。

  2. 确保配置文件包含以下设置:

    SSLHonorCipherOrder On
  3. 添加以下配置:

    # Protocol 'h2' is only supported on Apache 2.4.17 or newer.
    Protocols h2 http/1.1
    ProxyPass / http://localhost:3001/
    RewriteEngine on
    RewriteCond %{HTTP:Upgrade} =websocket
    RewriteRule /(.*) ws://localhost:3001/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket
    RewriteRule /(.*) http://localhost:3001/$1 [P,L]

配置解释:

  • Protocols h2 http/1.1: 启用 HTTP/2 协议。
  • ProxyPass / http://localhost:3001/: 将所有请求转发到 http://localhost:3001/
  • RewriteEngine on: 启用重写引擎。
  • RewriteCond %{HTTP:Upgrade} =websocket: 检查请求是否为 WebSocket 请求。
  • RewriteRule /(.*) ws://localhost:3001/$1 [P,L]: 如果是 WebSocket 请求,则将其转发到 ws://localhost:3001/$1
  • RewriteCond %{HTTP:Upgrade} !=websocket: 检查请求是否不是 WebSocket 请求。
  • RewriteRule /(.*) http://localhost:3001/$1 [P,L]: 如果不是 WebSocket 请求,则将其转发到 http://localhost:3001/$1

部署完成后,Uptime Kuma 现已在 http://localhost:3001 上运行。

注意事项:

  • 请根据实际情况修改配置。
  • 确保 Apache 服务器已正确配置并运行。
  • 如果使用其他反向代理服务器,请参考相应文档进行配置。
  • 定期更新 Uptime Kuma 镜像以获取最新的功能和安全修复。
Uptime Kuma 部署指南:开源监控工具自托管详解
https://blog.wlens.top/posts/uptime-kuma-监控部署/
作者
Lao Wang
发布于
2023-11-21
许可协议
CC BY-NC-SA 4.0