监控 Apache PHP FPM 并重启

问题描述 投票:0回答:0

我正在使用 cPanel 托管我的网站。 有时我的网站由于与 php fpm 相关的错误而抛出错误 503

[proxy:error] [pid 32549] (111)Connection refused: AH02454: FCGI: attempt to connect to Unix domain socket /opt/cpanel/ea-php74/root/usr/var/run/php-fpm/c31dac5ed583d707687865fef34d1a67.sock (*:80) failed

or

[proxy_fcgi:error] [pid 32549] [client 20.40.43.219:64380] AH01079: failed to make connection to backend: httpd-UDS

这主要发生在由于未知点击/机器人/爬虫/dos 攻击等引起的流量激增时

我想要实现的是每当我的 apache 抛出一个错误是由于

连接被拒绝:AH02454:

AH01079:无法连接到后端:httpd-UDS

我的 php fpm restart 命令运行 shell 脚本。

我有一个类似的 apache 脚本,如果 http 进程超过 300,它会重新启动

#!/usr/bin/env bash
service="httpd"
count="$(ps aux | grep -c "$service")"
logfile="/opt/httpd/autostart-apache2.log"
restart(){ systemctl restart  "$service" ; }

if (( count > 298 )); then
  echo "starting apache at $(date)" >> "$logfile"
  restart >> "$logfile" 2>&1
else
  echo "$count Apache processes is running at $(date)"
fi

有人可以帮我为此创建一个脚本吗?? 脚本要做的是

  1. tail watched the apache error log = tail -f apache error log
  2. 检查字符串“AH01079:无法连接到后端:httpd-UDS”
  3. 如果字符串匹配,重启 php fpm = systemctl restart ea-php74-php-fpm.service
  4. 如果没有则 echo php-fpm count 输出日志
php bash apache ssh cpanel
© www.soinside.com 2019 - 2024. All rights reserved.