准备工作
搭建哪吒监控的 Dashboard,你需要:
一台可以连接公网的服务器。防火墙和安全策略需放行 8008 端口,否则无法访问或接收数据。单核 512MB 内存的服务器即可满足大多数使用场景。
一个已设置好 A 记录,指向 Dashboard 服务器 IP 的域名。
TIP
如果你想使用 CDN,请准备两个域名:
一个配置好 CDN,用作公开访问,CDN 需支持 WebSocket 协议;
另一个域名不使用 CDN,用作 Agent 与 Dashboard 的通信。
尽管 V1 版本不再区分访问端口和通信端口,但由于不同厂商的 CDN 配置可能导致通信异常,仅建议按上述方式准备域名(非强制要求)。
本文档以 "dashboard.example.com" 和 "data.example.com" 为例。
在服务器中安装 Dashboard
在面板服务器中,运行以下安装脚本:
curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
如果你的服务器位于中国大陆,可以使用镜像:
curl -L https://gitee.com/naibahq/scripts/raw/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
以 Docker 安装为例,安装完成后按提示输入以下信息:
- 请输入站点标题: - 自定义站点标题。
- 请输入暴露端口: - 公开访问端口(默认 8008,可自定义)。
- 请指定后台语言: - 选择语言偏好。
输入完成后,等待拉取 Docker 镜像。安装结束后,如果一切正常,你可以通过域名和端口号访问 Dashboard,例如:
http://dashboard.example.com:8008
如果需要再次运行安装脚本,可输入以下命令:
./nezha.sh
打开管理脚本。
登录到 Dashboard 配置界面
后台管理界面的路径为 /dashboard,你只需访问:
http://dashboard.example.com:8008/dashboard
首次登录的默认用户名和密码均为 admin。
注意:
默认密码为弱密码,对于高权限的面板来说,使用弱密码非常危险!
建议安装后立即进入管理页面:点击头像 → “个人信息” → “更新个人资料”修改密码。
建议密码长度至少 18 位,并混合大小写字母、数字及符号。
配置Dashboard反向代理
一键脚本
curl -fsSL https://raw.githubusercontent.com/piokto/nezha-auto-shell/refs/heads/main/auto-nginx.sh | bash
手动设置
Nginx修改示例配置如下
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# http2 on; # Nginx > 1.25.1,请注释上面两行,启用此行
server_name dashboard.example.com; # 替换为你的域名
ssl_certificate /data/letsencrypt/fullchain.pem; # 域名证书路径
ssl_certificate_key /data/letsencrypt/key.pem; # 域名私钥路径
ssl_stapling on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m; # 如果与其他配置冲突,请注释此项
ssl_protocols TLSv1.2 TLSv1.3;
underscores_in_headers on;
set_real_ip_from 0.0.0.0/0; # 替换为你的 CDN 回源 IP 地址段
real_ip_header CF-Connecting-IP; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# 如果你使用nginx作为最外层,把上面两行注释掉
# grpc 相关
location ^~ /proto.NezhaService/ {
grpc_set_header Host $host;
grpc_set_header nz-realip $http_CF_Connecting_IP; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# grpc_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
grpc_read_timeout 600s;
grpc_send_timeout 600s;
grpc_socket_keepalive on;
client_max_body_size 10m;
grpc_buffer_size 4m;
grpc_pass grpc://dashboard;
}
# websocket 相关
location ~* ^/api/v1/ws/(server|terminal|file)(.*)$ {
proxy_set_header Host $host;
proxy_set_header nz-realip $http_cf_connecting_ip; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# proxy_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
proxy_set_header Origin https://$host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_pass http://127.0.0.1:8008;
}
# web
location / {
proxy_set_header Host $host;
proxy_set_header nz-realip $http_cf_connecting_ip; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# proxy_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 0;
# proxy_set_header X-Forwarded-Proto $scheme; # 如果你使用nginx作为最外层,就启用此行避免无法正确读取访问的协议
proxy_pass http://127.0.0.1:8008;
}
}
upstream dashboard {
server 127.0.0.1:8008;
keepalive 512;
}
更新 Dashboard
运行脚本:./nezha.sh
选择重启面板并更新。
安装 Agent
哪吒监控的被控端服务被称为 Agent
Agent 二进制文件仓库地址为:https://github.com/nezhahq/agent/releases
一键安装 Agent
哪吒监控支持在 Windows、macOS 和 Linux 上一键安装 Agent。遵循本文档的步骤,你可以轻松地在服务器上部署它。







空空如也!