STEP.1
准备一个域名 eg: nezha.com
, 准备一个 CloudFlare
账号, 把域名解析到服务器IP, 点击CloudFlare
左侧网络
, 把 gRPC
, WebSockets
开启, 并开启小黄云.
STEP.2
确保服务器安装好了 docker
, 创建一个文件夹, 之后创建一个 docker-compose.yml
文件.
1
2
3
4
5
6
7
8
9
10
|
version: '3'
services:
dashboard:
image: ghcr.io/nezhahq/nezha
container_name: nezha
ports:
- 8008:8008
volumes:
- ./data:/dashboard/data
restart: always
|
之后在当前文件夹下直接输入:
要确保 8008 防火墙端口是开放的.
STEP.3
登录上 1panel
, 点击 网站
, 点击 创建
, 点击 反向代理
, 主域名填写 nezha.com
, 代理地址填写 127.0.0.1:8008
, 创建完成之后我们去申请一个证书并应用.
之后我们点击刚刚创建的网站, 点击网站设置的 配置文件
, 在 server {
上方我们添加如下代码, 并重载:
1
2
3
4
|
upstream dashboard {
keepalive 512;
server 127.0.0.1:8008;
}
|
之后我们点击反向代理右侧的 源文
, 把里面的代码替换为如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
location ^~ / {
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header nz-realip $http_cf_connecting_ip;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_buffer_size 128k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 0;
add_header X-Cache $upstream_cache_status;
add_header Cache-Control no-cache;
proxy_ssl_server_name off;
proxy_ssl_name $proxy_host;
add_header Strict-Transport-Security "max-age=31536000";
}
underscores_in_headers on;
set_real_ip_from 0.0.0.0/0; # CDN 回源 IP 地址段
real_ip_header CF-Connecting-IP; # CDN 私有 header,此处为 CloudFlare 默认
# gRPC 服务
location ^~ /proto.NezhaService/ {
grpc_set_header Host $host;
grpc_set_header nz-realip $http_CF_Connecting_IP;
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;
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;
}
|
之后我们进入 nezha.com
, 进入后台, 用户名密码为默认的 admin
, 必须自行修改为强密码, 再点击右上角头像 系统设置
, 在 Agent对接地址【域名/IP:端口】
栏填入 nezha.com:443
, 并勾选 Agent 使用 TLS 连接
, 之后我们就可以直接复制 安装命令
去我们想要监控的服务器里安装 Agent
了.