前言:教程基于docker-compose完成,请自行安装docker和docker-compose
简介
众所周知 NodeQuery 已彻底关闭无法使用,MyNodeQuery 起因是为了代替 NodeQuery 发展而来,大部分功能参照了 NodeQuery,并增加了一些网友们期望的功能。
MyNodeQuery 是一款简洁好用的探针,支持 Telegram 节点离线通知、节点排序、自定义 Ping 节点,还有网速、流量报表等功能。
演示站点:https://status.idcoffer.com
使用
依赖:
MySQL 5.7 或更高版本
Redis (可选)
Docker
部署Mysql服务
这里推荐使用Mysql的5.7版本,再上去消耗太大,并不适合探针鸡角色。
docker run -d --name=mysql57 \
-e MYSQL_DATABASE=mynodequery \
-e MYSQL_USER=LEZpk1a \
-e MYSQL_PASSWORD=GNaCjxUEgBn3cLH6ZciQ \
-e MYSQL_RANDOM_ROOT_PASSWORD='1' \
-v /home/mysql57:/var/lib/mysql \
--restart=always \
mysql:5.7
其中:
MYSQL_DATABASE是首次启动就创建的数据库。
MYSQL_USER和MYSQL_PASSWORD是上面数据库对应的用户和密码,非ROOT。
MYSQL_RANDOM_ROOT_PASSWORD是将root密码变成随机,增强安全性。
如何解决每次更新都要从新 Install 的问题?
创建一个文本 /etc/mynodequery/appsettings.json,内容为:
mkdir -pv /home/mynodequery/ # 在home目录下创建mynodequery文件夹用于存放配置文件。
cat > /home/mynodequery/appsettings.json <<EOF
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySql": {
"ConnectionString": ""
},
"AllowedHosts": "*",
"Installed": "false",
"ReadNodeIpHeaderKey": "X-Real-IP"
}
EOF
在 docker run 语句中加入 -v /etc/mynodequery/appsettings.json:/app/appsettings.json 即可解决。如:
docker run -d --name=mynodequery -p 5000:5000 -v /etc/mynodequery/appsettings.json:/app/appsettings.json jaydenlee2019/mynodequery:latest
启动MyNodeQuery容器
docker run -d --name=mynodequery \
--link=mysql57:mysql57 \
-p 5000:5000 \
-v /home/mynodequery/appsettings.json:/app/appsettings.json \
--restart=always \
jaydenlee2019/mynodequery:latest
其中:
--link=mysql57:mysql57 就是把容器名为mysql57的容器以别名mysql57映射到本容器内。
-p 5000:5000 如果不需要反代的,可以直接左边的5000端口改成80端口即可不用证书直接搭,只是这样就只能用http连接。
部署完毕后主机名需要填写mysql57,用户ID和密码填写MYSQL_USER和MYSQL_PASSWORD参数的内容,如果mysql端口打算暴露公网的,记得mysql57的容器增加端口映射参数-p 3306:3306。