请问大家这个最后一步怎么实现啊,大家能和我说下思路嘛 谢谢了!

2020-11-01 17:55:08 +08:00
 a2001103
Shellscript(bash)
1.安装 bash 服务;
2.服务监控脚本:/shells/chkWeb.sh;
3.在 Rserver 上编写脚本监控公司的网站运行情况;
4.脚本可以在后台持续运行;
5.每隔 3S 检查一次网站的运行状态,如果发现异常尝试 3 次;
6.如果确定网站无法访问,则返回用户“网站正在维护中,请您稍后再试”的页面;
3075 次点击
所在节点    Linux
8 条回复
hendyzone
2020-11-01 18:05:09 +08:00
有点 Eureka 原始形态的感觉。
可以试试由一个服务转发的模式?所有请求都来这个高可用服务然后根据状态转发
a2001103
2020-11-01 18:22:38 +08:00
@hendyzone 好 我去了解下谢谢啦
ETiV
2020-11-01 18:27:50 +08:00
感觉是个伪需求?

看到中间我还以为要监控网站状态然后推送消息

如果并不是在真的维护的话,用 nginx 5xx 自定义错误页面就好了?错误页面显示个“维护中”
a2001103
2020-11-01 18:30:53 +08:00
@ETiV 好 谢谢你
renmu123
2020-11-01 18:56:57 +08:00
网站运行状态有异常的原因有比较多,比如服务器被人关了,NGINX 挂了,还是数据库删库了,还是其他问题?可能处理方法都不太一样
a2001103
2020-11-01 19:44:27 +08:00
@renmu123 这个是一个题目 就是要监控它的运行情况 然后可以返回那个页面 就是模拟一下啦
dorothyREN
2020-11-01 22:34:13 +08:00
nginx 好像有这功能吧,后端服务都挂掉的话返回个维护页面
DoctorCat
2020-11-02 00:51:15 +08:00
不扯其他的方案,只说你这第 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 读到这条消息,返回给前端即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/720745

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX