因为服务器之前因为不可抗拒的原因导致服务器故障。
时间飘忽不定,我可能在睡觉又或者在线能及时处理。
于是我弄了这么一个简单的小工具,前提是域名托管在cloudflare才可以。
文件:点我下载
具体教程:
1.先登录cloudflare,点击一个域名。找到区域ID复制到PHP文件中。
//区域ID
$id = '';
2.区域ID下面有一个获取您的API令牌点进去。
点击创建令牌,然后使用编辑区域DNS这个模板。
在区域资源这一行选择你的域名,客户端IP地址筛选可以添加白名单。
创建好后复制到PHP文件中。
//创建API后得到的token,写在Bearer 后
$Authorization = 'Authorization: Bearer ';
ps.Bearer和你的token中间是有空格的。
3.添加好两个信息后,到25行。
//获取DNS记录ID列表,改成true后访问PHP地址会显示JSON格式的DNS记录列表。
$get_dnsid = false;
把false修改成true,然后上传服务器访问。
会出现一些json,选择你目前需要做故障转移的那条解析的ID。
填写到:
//需要修改的DNS记录ID, $get_dnsid = true 获取记录列表,设置dnsid后将$get_dnsid设置成false
$dnsid = '';
再吧**$get_dnsid = true;** 修改成 $get_dnsid = false; 即可!
4.修改其他参数
//ping 检测的IP
$pingip='baidu.com';
修改成你要ping的地址。
$dnstype = 'A';
//名字
$dnsname = '';
//修改后的IP
$dnscontent = '';
//代理
(bool)$dnsproxied = true;
//ttl
$dnsttl = 3600;
上面的是出现故障后修改解析IP的参数,第一个默认a解析。
第二是解析内容,第三是备用服务器的IP,第四修改成false就是关闭cf的cdn功能。
默认是开启的,第五是ttl时间,默认一个小时,修改成自动可以把值改成1。
5.ping地址的端口
if (pingDomain($pingip, 80) === -1) {
来自43行,这里默认80端口,可以修改成其他端口。
上面全部部署好后,设置监控访问URL即可。
温馨提示,此文件的ping的方式和你电脑终端ping的方式不是一样的。
此方式类似于端口扫描,端口设置为80或者443可以监控web。
端口设置3306,可以监控mysql,但是端口必须放行部署PHP文件的IP。
比如你在宝塔放行端口7777,但是这个端口没有进程占用,也视为故障。