なにも更新という更新はしていないのに、突然「500 Internal Server Error」が出て、Xサーバーで管理していた全サイトがダウンしてしまい、復旧させた件の覚書きです。
「BackWPup」というバックアッププラグインを使っているかたは、特に注意!
まずサーバーのメンテナンスを確認
まずサーバーエラーが出たら最初にすることは、「一時的なメンテナンス」ではないかチェック。
直近でメンテナンスがありましたが、Jetpackの読み込みエラーメールがきたのは該当時間がはずれている。
…どうやらメンテナンスでは無い。
トラブルページを確認
次に、よくあるお問い合わせを確認します。
公式サイトの「500 Internal Server Error」というエラーが表示されてホームページが見られません。」というところ。
プログラム自体へのアクセスは行えているが、実行ができない(処理が完了しない)場合に発生するエラーです。
サーバーパネル「ログファイル」よりエラーログをダウンロードし、エラー内容をご確認ください。
とのことでまず、エラーログをダウンロードしました。
ダブルクリックでは開かないので、「右クリック→このアプリケーションで開く→テキストエディタで開く」です。
なにやら、わからないコードがずらずら〜っと。全ドメインにエラーが出てしまっています。
私のエラーログ例:
PHP Fatal error: Call to undefined function post_class() in〜
error reading data from FastCGI server〜
の羅列がならんでいるので、よくある質問をみると、プログラムの記述内容(CGI/PHPのソースコード)に誤りがあるということなのがわかります。
CGI、PHPへのアクセスに際して「syntax error」「Call to undefined function ******()」「failed to open stream」などのエラーが発生している場合、ご利用のプログラムにおける記述上のミスや必要ファイルの不足、PHPバージョンの相違等によりエラーが発生している可能性が考えられます。
だからといってどうすればいいかわからないので、Xサーバーのお問い合わせにメールしてみるも、日本は深夜なので連絡がない。
PHPのアップデートをしてみた
ほかのサイトを読みあさって原因を探したところ、PHPのアップデートでなおったという声があったので、バージョンをアップしてみた。
でも治らない。
もともとメインのサイトは最新のPHPにアップデートになっていたので、最初から該当しなかった。
とりあえずバックアップ
とりあえず、色々さわってしまう前に、サイトのデータのバックアップをしておくのが懸命と判断。
FTPソフトをインストールし、一番大事なドメインのデータからダウンロードしようとしてみたら…
なんか時間がものすごくかかる…
おかしい。。あれ、1サイトの大きさが、200GB?!!!!!!
重すぎる・・・
ということでピンときたのが、
「BackWPup」というバックアッププラグインの存在。
これが悪さの根源でした。
思い返すとバックアップ設定時間が、深夜3時。
ページがダウンしたのは3時20分頃なので、何も更新はしていなくても、wordpress内ではこのプログラムが動いていたんですね。
BackWPupのバックアップを消す
BackWPupを設定した際、同一サーバー内にデータを残すことは気づいてて、一定数以上は上書きされて保存されると思い込んでいたのですが、実際はそうではなかったのかも。1ヶ月くらいプラグインを有効にしていたので、蓄積されたのは相当なデータ量になります。サーバーもパンクしますね。
そのため、重くなりすぎたBackWPupのバックアップを消すことに。
まず、プラグインをとめます。
Xサーバーのファイルマネージャにログイン。
500サーバーエラーになって、ログインページにもいけないので、
サーバーのブラウザページから、ファイルを消します。
/public_html/wp-content/plugins/のなかにある、backwpupというフォルダを
削除するか、いきなりは怖い場合はbackwpup123などの名前を変更にして、使えないようにします。
↓
そして、backwpupのデフォルトの保存先になっていた「/wp-content/uploads」のフォルダの中にある、
wpではじまる3つのファイルを削除。
そうすると、全サイトが復旧しました〜!!!!
今回のエラーの反省
エラーが出た時、とくになにもしていなかったので、サーバーのせいかと思い1日近く放置してしまいました。
でも、原因は、「BackWPup」というバックアッププラグインの設定の問題でした。
デフォルト設定のまま、サーバー内にバックアップを保存するのは、サーバーに負荷がかかって、
今回のように「ひとつのサイトのプラグインのせいで、全サイト停止」なんてことも。
サーバーがふっとんだ時に意味がないですし、外部バックアップにできるものに変更しようと思います。
先に解決できましたが、あとからXサーバーさんからお返事もいただきました。
今回のようなケースでは「キャッシュプラグイン」や
「バックアッププラグイン」が原因となっている場合がございます。 キャッシュプラグインのキャッシュデータ、
あるいはバックアップデータが肥大化することにより
処理が遅くなる、あるいは完全に停止してしまうというものでございます。 特に『W3 Total Cache』や『BackWPup』などのプラグインは
データの肥大化によるトラブルが起こりやすいようですので
参考にしていただければと存じます。
とのこと。
同じ症状で悩まれている方は、参考にしてみてください。