在 1Panel 下搭建 MyNodeQuery 实时监控 VPS
MyNodeQuery 是一款简洁好用的探针,支持 Telegram 节点离线通知、自定义 Ping 节点、还有网速、流量报表等功能。它的功能和易用性没有哪吒探针和 Server Status 做的好,项目也并未开源,但这个项目的网络监控做得很好,可以自定义 ping 的地址,方便实时查看国内三网到 VPS 的网络延迟和波动。
项目地址:https://hub.docker.com/r/jaydenlee2019/mynodequery
1Panel 是近两年新兴的一款 Web 管理面板,它基于 Docker,易于安装,可以方便直观并快捷的搭建网站环境和管理 Docker 项目。
项目地址:https://github.com/1Panel-dev/1Panel
安装 1Panel
Ubuntu:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
Debian:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
安装成功后,控制台会打印面板访问信息,可通过浏览器访问 1Panel:
http://目标服务器 IP 地址:目标端口/安全入口
如果使用的是云服务器,请至安全组开放目标端口。
ssh 登录 1Panel 服务器后,执行 1pctl user-info 命令可获取安全入口(entrance)。
1Panel 下安装 MyNodeQuery
1Panel 安装好后进入后台,点击左侧菜单——主机——文件——根目录—— opt 进入,点击创建文件夹,新建 MyNodeQuery 文件夹。
进入刚刚创建的 MyNodeQuery 文件夹,点击创建文件,创建 docker-compose.yml
和 appsettings.json
两个文件。
打开 docker-compose.yml
文件添加如下内容并保存:
version: '3.3'
services:
mynodequery:
container_name: mynodequery
ports:
- '5000:5000'
volumes:
- './appsettings.json:/app/appsettings.json'
image: 'jaydenlee2019/mynodequery:latest'
mynodequerydb:
image: 'docker.io/mysql:5.7' #使用的镜像
restart: always
container_name: mynodequery-mysql #容器名
command: mysqld --default-authentication-plugin=mysql_native_password
volumes:
- ./data:/var/lib/mysql #挂载目录,持久化存储
# ports:
# - '3306:3306'
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: "mynodequery" #设置root用户的密码
MYSQL_DATABASE: "mynodequery"
MYSQL_USER: "mynodequery"
MYSQL_PASSWOR: "mynodequery" #设置mysql用户的密码
打开 appsettings.json
文件添加如下内容并保存:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySql": {
"ConnectionString": ""
},
"AllowedHosts": "*",
"Installed": "false",
"ReadNodeIpHeaderKey": "X-Real-IP"
}
点击 左侧菜单——容器——编排——创建编排
,在右侧的弹出界面中点击路径选择,路径选择刚刚创建的 docker-compose.yml
:
主菜单 > opt > MyNodeQuery > docker-compose.yml
确认,再点击右下角的确认按钮等待安装完成。
此时 MyNodeQuery 已经安装完成。
域名反向代理设置
如果你有一个域名,需要将域名指向探针面板,那么用 1Panel 也可以方便的设置反向代理。
首先,需要在你的域名服务商处,将域名(此处以 vps.12345.com 为例)指向安装 MyNodeQuery 的服务器 IP地址。
然后打开 1Panel 左侧的菜单——网站——创建网站,在右侧的弹出面板选择“反向代理”:
主域名: vps.12345.com
代号: vps.12345.com
代理地址: 选择 http,后面填写 127.0.0.1:5000
点击确认按钮,此时反向代理就已经新建完成,点击配置——HTTPS,可手动添加证书,或者在线申请免费 SSL 证书,证书设置好后,至此,反向代理设置完成。
初始化配置 MyNodeQuery
打开你的域名 https://vps.12345.com(如果未设置 SSL 证书,那就是打开 http://vps.12345.com)
连接 mysql 数据库:
主机名:mynodequerydb
端口:3306
数据库名:mynodequery
用户 ID:root
密码:mynodequery
站点基本设置:
站点标题:随便填写
网站地址(URL):https://vps.12345.com
站点地址(URL):https://vps.12345.com
登陆密码:自行设置
确认密码:输入自行设置的密码
ping 节点设置(支持tcping):
以下为主要地区的三网 ip 地址(来自腾讯和百度CDN):
广州电信 14.215.182.217
广州联通 163.177.17.45
广州移动 111.45.3.7
上海电信 180.163.148.209
上海联通 140.207.62.232
上海移动 221.130.192.224
北京电信 220.181.111.153
北京联通 111.206.208.32
北京移动 112.34.112.45
至此,MyNodeQuery 服务端安装已全部完成。
补充
我们可能会发现,在某些系统下,在添加节点后,并在 VPS 上安装节点探针脚本时会出线安装失败的情况,这种情况我们需要修改一下默认的安装脚本,比较简单的解决方案是在 sh ./mynq-install.sh
前面加上 ba
即可。
例如
wget -q --no-check-certificate -O mynq-install.sh https://vps.12345.com/Script/Install/1C34CF16F5C54723A418AABBCCDDEEFF && sh ./mynq-install.sh
修改为
wget -q --no-check-certificate -O mynq-install.sh https://vps.12345.com/Script/Install/1C34CF16F5C54723A418AABBCCDDEEFF && bash ./mynq-install.sh
一步到位解决方案:
查看 mynodequery 的容器 ID
docker ps
假如 31de748b53f8
为 mynodequery 的容器 ID(每个人都不一样)
进入容器
docker exec -it 31de748b53f8 /bin/sh
输入
vi /app/wwwroot/js/site.js
按 i 键进入编辑模式,找到第 1131 行和 1195 行,在 sh
前面加上 ba
。修改好后,输入 :wq
保存。
最后输入 exit
退出容器并重启容器
docker restart 31de748b53f8
此时,默认的节点脚本已经变更为 bash ./mynq-install.sh
。
如果要卸载已安装在 VPS 上的探针,可以使用以下命令:
rm -rf /etc/mynodequery && (crontab -u mynodequery -l | grep -v "/etc/mynodequery/mynq-agent.sh") | crontab -u mynodequery - && userdel mynodequery
您好 这个安装好后,如果作者更新,我们搭建的也会自动更新不呢
不会自动更新,需要自己手动更新