这将每 5 分钟执行一次 check_site.sh 脚本,并检查站点状态。
如果您的网站被攻击并且占用了大量的 CPU 资源,另一种解决方法是将流量切换到其他站点的备用服务器。下面是在 CentOS 上使用自动脚本实现流量切换的步骤:
- 创建一个新的脚本文件,例如check_site.sh。使用以下命令创建文件并添加必要的权限:
1 2 | touch check_site.sh chmod +x check_site.sh |
check_site.sh 文件中添加以下代码:
TXT复制#!/bin/bash # 定义需要检查的站点 SITES=("aa.site" "backup1.aa.site" "backup2.aa.site") # 循环检查每个站点的状态 for SITE in "${SITES[@]}" do STATUS=$(curl -s -o /dev/null -w "%{http_code}" $SITE) if [ $STATUS -eq 200 ]; then # 如果站点状态正常,切换到该站点并退出循环 sed -i "s/aa\.site/$SITE/g" /etc/nginx/conf.d/aa.site.conf systemctl restart nginx exit 0 fi done # 如果所有备用站点都无法访问,记录错误日志并退出 echo "All backup sites are down" >> /var/log/check_site.log exit 1
这个脚本将检查预定义的站点列表,如果其中任何一个站点处于正常状态(HTTP 状态码为 200),则将 nginx 配置文件中的站点 URL 更改为该站点,并重新启动 nginx 服务。
- 在
/etc/crontab 文件中添加以下行,以定期执行 check_site.sh 脚本:
TXT复制*/5 * * * * root /path/to/check_site.sh
这将每 5 分钟执行一次 check_site.sh 脚本,并检查站点状态。
通过这些步骤,您应该能够成功实现在 CentOS 上自动检测攻击,并将流量切换到其他备用站点。请注意,这只是一个简单的解决方案,如果您的网站仍然受到攻击,请尽快采取其他措施来保护您的网站免受攻击。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架