監測伺服器php-fpm情況,自動重啟。
場景①:單機部署的情況下;php-fpm掛了導致伺服器介面返回500報錯。因為情況很多,可能是高併發或者其他意外情況導致的執行緒不夠用,記憶體不夠,CPU佔滿等情況。
場景②:多伺服器負載均衡部署情況下;可能某臺伺服器會php-fpm因很多情況也會和場景①的情況。
如果是大晚上的突然掛掉豈不是很尷尬?怎麼處理呢?
單機情況處理方案:cron+php指令碼檢測
①php指令碼
<?php
$url = '要監測的網站域名';
$cmd = 'service php-fpm restart';
for($i = 0; $i < 1; $i ++){
$exec = "curl connect-timeout 3 -I $url 2>/dev/null";
$res = shell_exec($exec);
echo "\r\n".$res.'啥也沒有';
if(stripos($res, '502 Bad Gateway') !== false){
echo "\r\n出現502 並重啟php-fpm".date('Y-m-d H:i:s');
$ss= shell_exec($cmd);
echo "\r\n".$ss;
exit();
}elseif($res==''){
echo "\r\n程式返回是空 並重啟nginx".date('Y-m-d H:i:s');
$cmd = 'service nginx restart';
$ss= shell_exec($cmd);
echo "\r\n".$ss;
exit();
}else{
echo "\r\n程式正常";
}
}
②新增定時任務 如:執行時間自己決定。
*/30 * * * * /usr/bin/php /root/nginx-status.php >> /var/log/nginx-log.log
多伺服器處理方案:各臺伺服器上寫shell指令碼 +指令碼介面訪問報錯時做“標示”
#可參考:http://www.360doc.com/content/18/0612/16/41766228_761758059.shtml;也是做標示去判斷是否php-fpm掛!
#!/bin/bash
#check php-fpm server up/down
while :
do
sleep 15;
/usr/bin/curl https://api.xxx.com/public/status.php << ! > /alidata/server/fpm.log
quit
!
timestamp=`date '+%Y-%m-%d %H:%M:%S'`
content=$(cat /alidata/server/fpm.log)
if [ "$content" = "ok" ];then
echo -e "ok\n" ;
else
/etc/init.d/php-fpm restart
echo -e "$timestamp"" php-fpm restart\n" >> /alidata/server/restart.log;
fi
done
相關文章
- 怎麼樣把mysqld壓測到崩潰重啟?什麼情況下mysqld崩潰重啟?MySql
- 在duplicate時,出現監聽BLOCKED的情況,導致監聽自動關閉BloC
- linux php-fpm 如何重啟LinuxPHP
- 如何快速檢視Linux系統重啟情況Linux
- Linux上監控Tomcat Down掉後自動重啟TomcatLinuxTomcat
- metricbeat 監控 nginx 情況Nginx
- Docker重啟保持容器自動啟動Docker
- 伺服器自動重啟的原因及解決方法-VeCloud伺服器Cloud
- 沒有介面文件的情況下如何開展介面自動化測試?
- springboot 配置熱啟動 不需重啟自動部署Spring Boot
- ubuntn 重啟 PHP-fpm 修改 php.iniPHP
- ubuntu核心切換失敗,無法啟動,bios不停檢測情況修復UbuntuiOS
- 【PHP-FPM】重啟過程原始碼詳解PHP原始碼
- [重慶思莊每日技術分享]-在自動UNDO管理情況下,如何手工增加undo段
- win10 自動重啟關閉方法_win10自動重啟怎麼關閉Win10
- 如何手動重啟 Node.js 和用守護程式自動重啟Node.js
- 監控java程式啟動時的CPU使用情況Java
- [20211203]演示job啟動時間改變的情況.txt
- Nginx每天莫名自動重啟問題Nginx
- 記php-fpm重啟導致的一個bugPHP
- 軟體分享:網頁監測及IIS重啟工具網頁
- win10 自動黑屏重啟如何解決_win10黑屏自動重啟的解決教程Win10
- 分支資料監測終端(啟動)
- hyperf 啟動、重啟、停止、檔案變化監聽命令包
- Oracle11g RAC啟動關閉情況大概總結Oracle
- 如何在不重新啟動phantomjs的情況下修改HTTP代理?JSHTTP
- win10自動重啟藍屏怎麼辦_win10藍屏自動重啟解決方法Win10
- 露天礦邊坡變形監測 一體化監測站裝置 精準監控變形情況 確保邊坡安全
- 軟體分享:網頁監測及 IIS 重啟工具 IISMonitor網頁
- 用於自動監控磁碟使用情況的 Shell 指令碼指令碼
- 行人闖紅燈自動監測系統
- win10自動重啟怎麼解決_win10系統經常自動重啟修復方法Win10
- win10更新自動重啟怎麼關掉_如何徹底關掉win10更新自動重啟Win10
- win10為什麼關機後自動重啟 win10關機後自動重啟的方法Win10
- MySQL中slave監控的延遲情況分析MySql
- 寶塔liunx控制皮膚,監控程式斷了以後自動重啟的指令碼指令碼
- docker容器無法啟動的情況下,如果修改配置檔案Docker
- 資料監控可以監測業務指標的實現情況,發現是否有升高或降低指標