監測伺服器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
- 如何快速檢視Linux系統重啟情況Linux
- metricbeat 監控 nginx 情況Nginx
- Docker重啟保持容器自動啟動Docker
- linux php-fpm 如何重啟LinuxPHP
- PHP5.6中php-fpm的配置、啟動、關閉和重啟PHP
- 配置作業系統重啟後,Oracle資料庫和監聽自動啟動作業系統Oracle資料庫
- 被動式監控oracle的rman備份情況Oracle
- 沒有介面文件的情況下如何開展介面自動化測試?
- 伺服器自動重啟的原因及解決方法-VeCloud伺服器Cloud
- linux 程式監控和自動重啟的簡單實現Linux
- ubuntn 重啟 PHP-fpm 修改 php.iniPHP
- Linux上監控Tomcat Down掉後自動重啟TomcatLinuxTomcat
- Tomcat自動檢測和重啟指令碼(Linux)薦Tomcat指令碼Linux
- 配置單例項自動重啟單例
- 伺服器的連線情況?伺服器
- [重慶思莊每日技術分享]-在自動UNDO管理情況下,如何手工增加undo段
- Nagios 被動檢測oracle Rman備份情況iOSOracle
- 自動重新啟動oracle監聽程式 for windowsOracleWindows
- Oracle監聽啟動後自動關閉Oracle
- win10 自動重啟關閉方法_win10自動重啟怎麼關閉Win10
- ubuntu核心切換失敗,無法啟動,bios不停檢測情況修復UbuntuiOS
- 如何手動重啟 Node.js 和用守護程式自動重啟Node.js
- 行人闖紅燈自動監測系統
- springboot 配置熱啟動 不需重啟自動部署Spring Boot
- 【PHP-FPM】重啟過程原始碼詳解PHP原始碼
- Android 華為手機卡在啟動頁不動,卡死情況Android
- 監控java程式啟動時的CPU使用情況Java
- Nginx每天莫名自動重啟問題Nginx
- oracle 監聽重啟Oracle
- win10 自動黑屏重啟如何解決_win10黑屏自動重啟的解決教程Win10
- 監控oracle的連線(session)情況[Z]OracleSession
- 記php-fpm重啟導致的一個bugPHP
- centos7重啟apache、nginx、mysql、php-fpm命令CentOSApacheNginxMySqlPHP
- Oracle11g RAC啟動關閉情況大概總結Oracle
- 軟體分享:網頁監測及IIS重啟工具網頁
- 資料監控可以監測業務指標的實現情況,發現是否有升高或降低指標
- 分支資料監測終端(啟動)