一键脚本
建议使用 WatchTower 自动更新面板,Windows监控可以使用nssm配置自启动
海外安装下载地址:curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh sudo ./nezha.sh
国内安装下载地址:curl -L https://raw.sevencdn.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh sudo ./nezha.sh
github项目地址:https://github.com/naiba/nezha
讲述一下搭建过程中的重点
- 需要两个域名,其中一个可以套cdn
- 需要github账号
- 反向代理设置和一般的网站不一样
- 套cdn的话需要支持ws加速的cdn,可以使用cloudflare
开始搭建
安装主控端
- 打开github项目地址,现在有一键代码,我还是比较推荐使用国外的机器搭建哪吒探针的。https://github.com/naiba/nezha
- 在你的服务器上开放8088和5555端口。并且解析两个域名到服务器!
3. ssh连接上你的电脑,复制一键脚本。运行1安装面板端
4. 输入自己的ID,打开github网页,点击自己的头像,右键点击头像复制图片地址。比如我的头像地址是:https://avatars.githubusercontent.com/u/54090186?s=60&v=4
这个54090186就是我的github ID
5. 到了下一项,根据提示,进行。简而言之就是打开:https://github.com/settings/developers,然后点击New OAuth App按钮。
在页面中填写信息,应用名称随便写,主页网址写你探针主页的地址,授权回调地址是在你探针主页网址的后面加上/oauth2/callback。因为我们需要反代开ssl,所以这里我建议我们填写服务器的IP:8008。演示填写如下
5. 在申请成功弹出新网页后。复制你需要复制的东西,需要复制两个参数,参数的获取方式如下图
6. 给你的网站起个名字!
7. ssh里面确定网站端口和被控端口,这里你服务器开放的是8008和5555端口的话,选择默认就行。
总体的运行截图如下:
然后打开你的IP:8008就能看到你的哪吒探针啦!
安装被控端
- 执行下面的命令(或者重新运行一下一键脚本),输入8点击回车
./nezha.sh
2. 填写事先准备好解析到服务器的第二个域名,这个域名不能套cdn。
3. 输入被控端端口,这里就是默认放行的5555了。
4. 打开主控端的ip:8008页面,登陆上你的github账号,点击右上角头像,选择管理后台。点击添加服务器,给自己的服务器起名字,选择分组和选择显示排序。点击添加。就能添加一个服务器,然后在该后台管理页面找到你添加的服务器,复制秘钥。
5. 回到ssh界面,脚本的下一项是输入秘钥,这里我们输入秘钥点击回车。
总体的运行截图如下
好啦,一个被控端已经安装完成了!回到你的主控端网站界面,刷新一下看看有没有被控端监控出现!
反代并且套ssl
我网站使用的是宝塔面板,我也默认大家安装了宝塔啦。建站软件我用的是nginx。这个也是默认大家安装了的。
- 这里就能用到我们准备的第一个域名,在dns解析商那里将这个域名解析到我们的服务器,然后在主控端的宝塔里面新建一个网站。在网站的设置里面选择反向代理。
名字随便取。目标url是http://127.0.0.1:8008,发送域名是$host,别的不需要修改。 - 因为默认的反向代理不支持ws,反向代理后无法使用,我们需要点击该反向代理的配置文件。修改配置文件如下
#PROXY-START/
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;
}
#PROXY-END/
反代就完成啦!然后打开你的域名就行啦!
套ssl因为宝塔不支持反代的网站申请ssl,所以我们可以去阿里云买个免费的ssl或者去别的网站申请一个,具体的百度 申请免费ssl 就行啦,然后在宝塔该网站的ssl选项里面粘贴你的秘钥和证书!
需要注意的
1. 国内服务器出现curl: (7) Failed to connect to raw.githubusercontent.com
- echo 199.232.68.133 raw.githubusercontent.com >> /etc/hosts
2. 修改服务器备注后变成"离线"久不恢复
在安装客户端(被监控)的服务器上执行systemctl restart nezha-agent
重启程序
启动nezha-agent还是一直显示离线
检查配置有没有写对cat /etc/systemd/system/nezha-agent.service | grep ExecStart