一、问题现象分析
在1Panel使用过程中,Nginx和MySQL服务偶发自动停止的现象通常由以下原因导致:
- 资源过载:突发流量或CC攻击导致内存/CPU耗尽
- 配置缺陷:未优化的服务参数引发内存泄漏
- 依赖异常:容器间通信故障或文件系统错误
- 日志膨胀:未配置日志切割导致磁盘写满
二、自动化监测与重启方案
1. 服务状态监测脚本
url="https://www.zhujiz.com"
docker_name="1Panel-mysql-Vidt"
docker_name="1Panel-openresty-e5q9"
code=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $url)
echo $code
if(( $code == "200"))
then
echo "request success."
else
echo "nginx had error."
fallback=$(docker restart $docker_name)
echo "openresty had restart: " + $fallback
fi
2. 1Panel计划任务配置
- 进入「计划任务」→「新建任务」
- 任务类型:Shell脚本
- 执行周期:建议每5分钟执行一次
- 脚本内容:粘贴上述代码
- 高级设置:开启「异常通知」
- 进入「计划任务」→「新建任务」
- 任务类型:Shell脚本
- 执行周期:建议每5分钟执行一次
- 脚本内容:粘贴上述代码
- 高级设置:开启「异常通知」