月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 聪明点,还是糊涂点?CnBeta暂时被Google封了 »

WordPress的MySQL数据库服务器监控插件

  对于某些国外主机,其HTTP服务可能比较稳定,但是MySQL服务却经常宕机,比如我的英文博客使用的DreamHost提供的MySQL就深受其害,经常无法连接MySQL服务器,并且通常都是美国时间午夜的时候宕机,有时候能停好几个小时,也难怪那么多人抱怨DreamHost的服务器不稳定

  我这里提供的插件修改可以监控你的WordPress的MySQL状况,一旦发现MySQL数据库无法连接,就会发送一封邮件到指定的信箱,同时在一个文本文件中进行记录,你可以通过查看日志来分析MySQL数据库的监视和运行情况是否良好,并且在异常情况出现的时候能立即就知道,以便联系主机服务人员维护。

  运行之后,我这里记录DreamHost的MySQL数据库几个小时就能出现四百多次异常报道,看来DreamHost的服务器真的是很垃圾啊。

  废话就不多说了,下面是安装和设置的详细方法:

  首先建立一个名为log.txt的文件,上传到WordPress的根目录,将其权限设置为666(FlashFXP又修改文件权限的功能)。

  然后修改下面代码,将发信人$from和收信人$to的邮件地址设置为个人信箱。

// Change the e-mail address below .
$from = "webmaster@moon-blog.com";
$to = "webmaster@moon-blog.com";

$subject = "MySQL Crashed!";
$body = date("Y-m-d H:i:s");
$headers = 'From: '.$from . "\r\n"
  .'Reply-To: '.$from . "\r\n"
  .'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $body, $headers);
// Log to file
$filename = 'log.txt';
$somecontent = date("Y-m-d H:i:s");
$somecontent = $somecontent . "\r\n";
if (is_writable($filename)) {
   if (!$handle = fopen($filename, 'a')) {
         exit;
   }
   if (!fwrite($handle, $somecontent)) {
       exit;
   }
   fclose($handle);
}

  之后,打开wp-includes/wp-db.php文件,找到“if (!$this->dbh) {”这一行(对于WordPress 2.3.1是66行),让上面的代码插入在这行的后面。

  上传并覆盖这个文件。

  之后每当数据库连接出现问题后,WordPress就都会自动发送邮件到你的信箱,同时将时间记录在log.txt文件之中。当我们选择支持MySQL的虚拟主机的时候,也可以使用这个程序来测试服务器的稳定性。

  本插件英文版:WordPress Plugin: MySQL Server Crash Monitor



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1158.html
  • 文章排行:

发表评论:

◎声明:转载本文时请务必以超链接形式标明文章原始出处和作者,本文严禁商业网站转载。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过抓虾订阅本站
  • 通过电子邮件订阅本站

站内搜索


热文排行

最新评论

最近发表

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.