|
|
| (未显示同一用户的6个中间版本) |
| 第1行: |
第1行: |
| = 搬瓦工 CN2 GIA 与 Komari:轻量级 Go 语言探针呈现三网顶级网络艺术 =
| | #REDIRECT [[BWH CN2 GIA 与 Komari:轻量级 Go 语言探针呈现三网顶级网络艺术]] |
| | |
| 搬瓦工(BandwagonHost)的 CN2 GIA 线路堪称 VPS 界的网络天花板。其三网顶级直连架构不仅带来了令人惊叹的极致超低延迟,更是在晚高峰也能保持全天候 '''0 丢包''' 的神话。这种丝滑、纯粹的网络体验,如果不配上一个优秀的现代监控探针将其彻底可视化,简直是暴殄天物!
| |
| | |
| 为了不辜负瓦工如此顶级的线路,我们需要一款同样极致的探针。今天的主角 '''Komari''' 正是为此而生。
| |
| | |
| == 为什么选择 Komari? ==
| |
| | |
| 市面上的服务器监控面板琳琅满目,但 Komari 凭借其独特的架构脱颖而出:
| |
| | |
| * '''基于 Go 语言构建''':Komari 的主控端和 Agent 均采用 Golang 编写。天生的高并发优势和出色的内存管理,使得它能以极低的系统资源占用,轻松处理并发连接。
| |
| * '''极致轻量与极简主义''':监控工具本身不应成为服务器的负担。Komari 没有臃肿的依赖库,对于极其珍贵的瓦工服务器资源来说,运行它几乎是“零感知”的。
| |
| * '''优雅的数据流转''':采用 WebSocket 进行实时数据推送,延迟极低。你在面板上看到的每一次心跳闪烁,都精准地反映了搬瓦工 CN2 GIA 线路坚如磐石的网络质量。
| |
| | |
| 本文将通过严谨的逻辑,一步一步完成 Komari 的基础部署,并进阶使用 Caddy 配置包含完整安全规范的 HTTPS 反向代理。
| |
| | |
| == 第一步:基础安装 - 部署 Komari 主控 ==
| |
| | |
| 无论你是在白天使用 Windows 办公,还是使用 macOS 的终端,请先通过 SSH 接入你的搬瓦工服务器。为了保证环境的隔离性和未来排错的便利性,我们采用 Docker Compose 进行部署。
| |
| | |
| === 1. 创建项目目录结构 ===
| |
| <syntaxhighlight lang="bash">
| |
| mkdir -p /opt/komari && cd /opt/komari
| |
| </syntaxhighlight>
| |
| | |
| === 2. 编写 docker-compose.yml ===
| |
| 创建并编辑配置文件:
| |
| <syntaxhighlight lang="bash">
| |
| nano docker-compose.yml
| |
| </syntaxhighlight>
| |
| | |
| 写入以下内容:
| |
| <syntaxhighlight lang="yaml">
| |
| version: '3.8'
| |
| services:
| |
| komari:
| |
| image: ghcr.io/komari-monitor/komari:latest
| |
| container_name: komari
| |
| restart: unless-stopped
| |
| ports:
| |
| - "25774:25774"
| |
| volumes:
| |
| - ./data:/app/data
| |
| </syntaxhighlight>
| |
| | |
| ; 🔍 Debug 与分析逻辑
| |
| : '''为什么映射 `/app/data`?''' 探针的面板设置、节点信息都存储在这个目录。如果不做物理映射,一旦容器重启或销毁,所有数据将全部丢失。
| |
| : '''关于端口 25774:''' 这是 Komari 的默认监听端口。如果启动后无法通过 IP 访问,排错的第一步不要瞎猜服务是否崩溃,而是严格检查服务器的 `ufw` 或 `iptables` 防火墙是否放行了 TCP 25774 端口。
| |
| | |
| === 3. 启动服务 ===
| |
| <syntaxhighlight lang="bash">
| |
| docker compose up -d
| |
| </syntaxhighlight>
| |
| 启动后,通过执行 `docker logs komari` 可以查看系统自动生成的初始管理员账号和密码。
| |
| | |
| == 第二步:进阶配置 - Caddy 详尽反代与 HTTPS ==
| |
| | |
| 将面板直接暴露在 HTTP 端口是不安全的。我们将使用 Caddy 申请免费证书并进行反向代理。以下是一份'''完整且详尽'''的配置,而非精简的凑合版本。
| |
| | |
| === 1. 编辑 Caddyfile ===
| |
| 打开你的 Caddy 配置文件(通常位于 `/etc/caddy/Caddyfile`):
| |
| <syntaxhighlight lang="bash">
| |
| nano /etc/caddy/Caddyfile
| |
| </syntaxhighlight>
| |
| | |
| 写入以下配置(请将 `status.yourdomain.com` 替换为你的真实域名):
| |
| <syntaxhighlight lang="text">
| |
| status.yourdomain.com {
| |
| # 启用现代 TLS 协议
| |
| tls {
| |
| protocols tls1.2 tls1.3
| |
| }
| |
|
| |
| # 反向代理至本地的 Komari 端口
| |
| reverse_proxy localhost:25774 {
| |
| # 传递真实访客 IP 和协议,避免后端获取到的全为本地 IP 127.0.0.1
| |
| header_up Host {host}
| |
| header_up X-Real-IP {remote}
| |
| header_up X-Forwarded-For {remote}
| |
| header_up X-Forwarded-Proto {scheme}
| |
| }
| |
| | |
| # 启用压缩机制以加快探针面板加载速度
| |
| encode gzip zstd
| |
| | |
| # 完整的安全响应头设置
| |
| header {
| |
| Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
| |
| X-Content-Type-Options "nosniff"
| |
| X-Frame-Options "SAMEORIGIN"
| |
| X-XSS-Protection "1; mode=block"
| |
| }
| |
|
| |
| # 详尽的访问日志记录,为未来排错提供明确的数据分析支持
| |
| log {
| |
| output file /var/log/caddy/komari_access.log {
| |
| roll_size 100mb
| |
| roll_keep 5
| |
| }
| |
| format json
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| | |
| ; 🔍 Debug 与分析逻辑
| |
| : '''Websocket 断连排错:''' Komari 极其依赖 Websocket 进行实时数据推送(注意:Caddy v2 默认原生支持 WebSocket 转发,无需手动配置 Upgrade 头)。如果你发现面板卡死不刷新,请首先检查链路。如果在外部套了 CDN(如 Cloudflare),排错的下一步是检查 CDN 控制台的 WebSocket 转发选项是否处于开启状态。
| |
| : '''日志分析排错:''' 这里专门配置了 `/var/log/caddy/komari_access.log`。如果配置完出现 502 错误,切忌盲目重启,直接使用 `tail -f /var/log/caddy/komari_access.log` 追踪日志。你能清晰地分析出是 Let's Encrypt 证书申请达到速率限制,还是后端的 `localhost:25774` 拒绝了连接请求。
| |
| | |
| === 2. 重载 Caddy 生效 ===
| |
| <syntaxhighlight lang="bash">
| |
| caddy reload --config /etc/caddy/Caddyfile
| |
| </syntaxhighlight>
| |
| | |
| 至此,一个架构完整、包含完善日志与安全头配置的 Komari 监控面板就搭建完成了。登录面板,看着各项指标的平稳绿线,细细品味搬瓦工带给你的极致网络享受吧。
| |
| | |
| ----
| |
| ''Created by AlexLynn for md5.pw Community.''
| |
| [[index.php?title=Category:500 常见应用指南 — Application Guides]]
| |