newechoes/src/content/技术日志/web/哪吒面板-服务器状态监控面板-Linux与Windows部署.md

178 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "哪吒面板 - 服务器状态监控面板 Linux与Windows部署"
date: 2022-03-26T09:19:00+00:00
tags: ["服务器探针", "cloudflare"]
---
## Linux 客户端部署
### 一、域名解析需要的操作
开始之前,请先确定你搭建探针的域名。强烈建议使用两个(子)域名进行解析:
1. 第一个是面板的域名,套 CDN 比较方便。
2. 第二个仅仅解析到面板服务器的域名,用于客户端连接服务端试用(这个可以没有,但是不建议,如果直接用 IP 的话,迁移面板后会非常麻烦)。
比如 `lsy.plus` 作为面板的域名,还有一个 `ip.lsy.plus` 是用来记录面板服务器的 IP。
也可以使用服务器 IP 来做面板域名。将这两个域名都解析到部署面板服务器的 IP。
### 二、配置 GitHub
先打开:[GitHub OAuth Apps](https://github.com/settings/developers),然后点击 New OAuth App 按钮:
- **Application name:** 名字随便
- **Homepage URL:** 面板的域名,例如 `https://lsy.plus`
- **Authorization callback URL:** 面板的域名 + `/oauth2/callback`,例如 `https://lsy.plus/oauth2/callback`
然后在这个页面点击 Generate a new client secret 创建你的 client secrets。
### 三、配置你的服务器
需要放行 `8008`、`5555` 两个端口,这是默认的,如果你程序中改为其他的,防火墙放行相应的端口。
#### 部署面板服务
github 镜像
```bash
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh
./nezha.sh
```
国内机器可以使用:
```bash
curl -L https://raw.sevencdn.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh
CN=true ./nezha.sh
```
运行后选择安装面板端回复数字,接着输入前面记录下来的 GitHub 账号 ID、OAuth Apps 的 Client ID、OAuth Apps 的 Client secrets。
到这里面板服务算是完成了大部分了。可以访问 `http://域名:8008` 查看,用你的 GitHub 账号验证登录。
#### 宝塔配置反代
```nginx
location / {
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $host;
}
location /ws {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
location /terminal {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
```
配置 SSL 就不用说了,常规建站怎么配置,这个就怎么配置。如果没有问题,就可以通过 `https://域名/` 来访问了。改好之后就可以对 8008 端口取消放行了。
关于套 CDN就和常规建站一样比如将 `tz.a0s.cc` 解析到 CDN 服务商,回源地址填部署面板的服务器 IP但要注意 CDN 需要支持 WebSocket 协议。
### 四、关于客户端(被监控机器)需要的操作
通过 `lsy.plus` 登录后台如果没配置反代、SSL那它将是 `http://lsy.plus:8008`。用你的 GitHub 账号验证登录后跳转到 `http://lsy.plus`。后台添加主机。
到需要被监控的机器执行脚本,点击小企鹅图标,会自动复制代码,到被控主机执行就行了。
## Windows 客户端部署
### 一、下载必须软件
[哪吒探针](https://github.com/naiba/nezha/releases)
[nssm](http://nssm.cc/download)
下载软件后,解压到任意位置,然后按 Win + R 打开运行窗口cd nssm 解压的位置。
### 二、设置 NSSM
管理员启动 CMD输入
```bash
nssm install <servername>
```
> 如: nssm install nezha
弹出 UI设置如下
```bash
Path: 选择哪吒探针客户端
Startup directory: 选择了客户端会自动填充
Arguments: 启动参数
```
启动参数格式为:
```bash
-i {AgentID} -s {Serverip}:{Port} -p {AgentKey} -d
```
> 例如:
>
> -i 10 -s 8.8.8.8:55555 -p 8aeccc7babe9c3cb0 -d
>
> 自己对应修改,填写完毕后,点击 Install Servce。
### 三、启动服务
此时退回到 CMD 界面,`nssm start nezha`
然后按 Win + R 打开运行窗口,输入 `services.msc`
查看是否有叫 `nezha` 的服务,然后查看启动情况,如果失败了,请查看一下配置是否出错。
### 四、nssm 命令参考
#### 安装服务命令
```bash
nssm install <servicename>
nssm install <servicename> <program>
nssm install <servicename> <program> [<arguments>]
```
#### 删除服务
```bash
nssm remove
nssm remove <servicename>
nssm remove <servicename> confirm
```
#### 启动、停止服务
```bash
nssm start <servicename>
nssm stop <servicename>
nssm restart <servicename>
```
#### 查询服务状态
```bash
nssm status <servicename>
```
#### 服务控制命令
```bash
nssm pause <servicename>
nssm continue <servicename>
nssm rotate <servicename>
```
有多台被监控机器时,按照此步骤在控制面板添加服务器