请问大家这个最后一步怎么实现啊,大家能和我说下思路嘛 谢谢了!
- 0次
- 2021-06-16 16:42:57
- idczone
Shellscript(bash)
1.安装 bash 服务;
2.服务监控脚本:/shells/chkWeb.sh;
3.在 Rserver 上编写脚本监控公司的网站运行情况;
4.脚本可以在后台持续运行;
5.每隔 3S 检查一次网站的运行状态,如果发现异常尝试 3 次;
6.如果确定网站无法访问,则返回用户“网站正在维护中,请您稍后再试”的页面;
有点 Eureka 原始形态的感觉。
可以试试由一个服务转发的模式?所有请求都来这个高可用服务然后根据状态转发
好 我去了解下谢谢啦
感觉是个伪需求?
看到中间我还以为要监控网站状态然后推送消息
如果并不是在真的维护的话,用 nginx 5xx 自定义错误页面就好了?错误页面显示个“维护中”
好 谢谢你
网站运行状态有异常的原因有比较多,比如服务器被人关了,NGINX 挂了,还是数据库删库了,还是其他问题?可能处理方法都不太一样
这个是一个题目 就是要监控它的运行情况 然后可以返回那个页面 就是模拟一下啦
nginx 好像有这功能吧,后端服务都挂掉的话返回个维护页面
不扯其他的方案,只说你这第 6 步的实现:
HTTP_CODE=$(curl -o /dev/null -s -w "%{http_code}" http://www.baidu.com)
if [ 200 -ne ${HTTP_CODE} ]; then
echo '网站正在维护中,请您稍后再试'
fi
简单粗暴不考虑阻塞的话,web 程序中调用脚本,从 stdout 读到这条消息,返回给前端即可。