AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] 一个简单自动监控nginx 504错误的php脚本 [转载] |
|
---|---|
zmyamh |
zmyamh 发表于 2014-11-26 09:01:06
来自原作者blog:
因为php连接网络超时,很容易导致nginx 504错误,网络上有很多解决办法,但是不知道为啥在我这里都不奏效。 所以我只好写一个脚本,定期检测我的站点是否504了,若有504,只好出绝招“重启nginx和php-fpm”, 具体代码如下: #!/usr/bin/php 是你的php路径 #!/usr/bin/php 将该文件命名为 504check.php<?php error_reporting(E_ERROR); define("EMAIL","xxx@gmail.com");//你的email地址 define("TIMEOUT",5);//读取网站超时时间,5秒 function curl_get($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, TIMEOUT); // Headers $headers = array(); $headers[] = "Date: ".date('r'); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $Data = curl_exec($curl); return $Data ; } function check($d,$k){ $url = $d;//"http://".$d; $html = curl_get($url); if( substr_count($html,$k) < 1){ mail(EMAIL,"JP 504 timeout for ".$d,$html); exec("/etc/init.d/nginx restart "); //重启nginx exec("/etc/init.d/php-fpm restart");//重启php-fpm } } check("https://www.homezz.com","homezz.com"); ?> 修改权限 chmod +x 504check.php 然后crontab -e添加一行 * * * * * /xx/504check.php >/dev/null 2>&1 每分钟系统就会自动检测网站是否响应很慢,若如此,则重启 这个配合amh的任务计划模块应该很不错 我的wordpress不知道是因为模板写的不好还是咋回事,经常出现502错误,如果也有一个监控502错误的脚本就更帅啦~
点赞,加油! (0分)
2014-11-26 09:01:06 1
|
webees.net |
本帖最后由 webees.net 于 2015-2-12 12:13 编辑
We are bees to collect honey in the network.
回复
2014-11-26 21:00:51 2
|
amysql |
上面代码是用php执行ssh脚本
exec("/etc/init.d/nginx restart "); //重启nginx exec("/etc/init.d/php-fpm restart");//重启php-fpm 没必要这样。 直接任务计划添加amh的重启命令。 nginx: amh nginx restart php的要看用哪个环境。 任务计划模块下面有示例。
回复
2014-12-02 11:00:00 3
AMH面板 - 好用高效低占用、安全可靠极稳定 |