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("Ymd 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("Ymd 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

文章轉載月光博客

Comments are closed.