Loading...

一个简单自动监控nginx 504错误的php脚本

2011-11-22 11:39:59 发表于PHP, 网站技术 本文链接: 一个简单自动监控nginx 504错误的php脚本

因为php连接网络超时,很容易导致nginx 504错误,网络上有很多解决办法,但是不知道为啥在我这里都不奏效。

所以我只好写一个脚本,定期检测我的站点是否504了,若有504,只好出绝招“重启nginx和php-fpm”,

具体代码如下:
#!/usr/bin/php 是你的php路径

#!/usr/bin/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) &lt; 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");
?>

将该文件命名为 504check.php
修改权限 chmod +x 504check.php
然后crontab -e添加一行
* * * * * /xx/504check.php >/dev/null 2>&1
每分钟系统就会自动检测网站是否响应很慢,若如此,则重启

标签:
发表于 2011-11-22 11:39:59 目录:PHP, 网站技术 [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
  • 相关阅读
  • homezz 美国专业主机商
    已经有12位大师动手指导 拒绝低俗
    • 1楼 relax 在2011.11.22 11:47发表评论如下: 回复

      这个不错 要支持哈

      • 2楼 明泉 在2011.11.22 11:47发表评论如下: 回复

        喜欢技术贴

        • 3楼 Dianso 在2011.11.22 14:32发表评论如下: 回复

          打算用这个脚本检测502错误,nginx经常出502错误

          • 4楼 XMChen 在2011.11.22 19:59发表评论如下: 回复

            每分钟都自动跑一次会不会很占资源?怎么关闭让他不跑。

            • 4楼附属品 江东 在2011.11.22 20:47发表评论如下: 回复

              资源占用忽略不计

              • 4楼附属品 XMChen 在2011.11.22 21:03发表评论如下: 回复

                东哥JP机房PING值是不是变来变去的?上次我一会91,一会就300+了。

                • 4楼附属品 江东 在2011.11.22 21:07发表评论如下: 回复

                  任何国外的机房,国内ping都不可能稳定,特别是晚上,若碰巧你又是联通,就得认命了,国情啊

                  • 4楼附属品 XMChen 在2011.11.22 21:08发表评论如下: 回复

                    深圳教育网,表示还是蛮开心的。哈哈

            • 5楼 relax 在2011.11.23 00:02发表评论如下: 回复

              上次回帖咋被当成垃圾了的呢

              • 6楼 jackymao 在2011.11.23 15:04发表评论如下: 回复

                为什么用php而不直接用sh脚本呢?

                • 7楼 山东工商学院 在2011.11.23 17:02发表评论如下: 回复

                  呵呵,真的比较难懂啊,先学习吧

                  • 8楼 乐九娱乐城 在2011.12.09 11:53发表评论如下: 回复

                    文章说的不错哦!

                    评论分页: 1
                    (Required)
                    (Required, not published)
                    如果留言未显示无需重复留言,我将为你恢复!