はるかの休日

猫とともに暮らすインフラ技術者が技術と猫と雑記を記録します。

ソフトウェア

WordPress5.3更新により画面が真っ白になった

投稿日:

急にアクセスが減って気づいた更新失敗

このサイトは気になったことを不定期に書いているため、長いと半年くらい放置されている。サーバーは無料のサービスで監視していて、何か問題がおきたときにはメールが飛んでくるようになっている。しかし、今回はサーバー監視からの警告メールがこなかった。原因はWebサーバーは動作し続けていてエラーがなかったからだ。最終的に原因の特定ができたいまわかることは、phpのエラーログ監視をいれていれば気づくことができたってことだ。

気づいた原因

何気なくGoogle Analyticsを確認したのがきっかけだった。だいたい20-30人くらいの人が毎日見に来てくれている。しかし、ぱったりとアクセスが途絶えていた。

明らかに13日に何かがおきて、14日には誰もサイトを見られなくなっていたのだろう。13日に何が起きていたのか?

WordPressから自動更新成功のメールが到着していたのが13日だった

Howdy! Your site at http://www.rbkyan.com has been updated automatically to WordPress 5.3.

No further action is needed on your part. For more on version 5.3, see the About WordPress screen:
http://www.rbkyan.com/wp-admin/about.php

If you experience any issues or need support, the volunteers in the WordPress.org support forums may be able to help.

Support Forums

The WordPress Team

メールの中身をざっくり意訳すると、「自動更新が成功しました。何もしなくて大丈夫だよ!」って書いてある。まあ、実際ぜんぜん成功してなかったよね??

復旧した手順

最初に画面が真っ白になっていたときの状態は、実に真っ白で何もなかった。そう、何もないのだ。エラーメッセージが何も出ていない。そう、500エラーもでていない。。

1.エラーログを表示できるようにする

まずはエラーがでている場所が分からないとしかたないので、エラーログを出せるように設定変更を実施。「Wordpress 500エラー」でGoogle検索してエラーメッセージが出せる設定を実施。参考にさせていただいたサイトは以下です。

WordPressで管理編集画面に入れない 500 Internal Server Error

まず,エラーの原因を見つけるため,WordPressをデバッグモードにする.このためには,FileZillaなどのFTPクライアントソフトでサーバに入り,wp-config.php内のdefine(‘WP_DEBUG’, false);の箇所を,falseからtrueにすればよい.

  1. Documentrootの下においてある「wp-config.php」をまずコピーしてバックアップをとる
  2. wp-config.phpをひらいて「WP_DUBUG」を検索
  3. (‘WP_DEBUG’, false);を(‘WP_DEBUG’, true);に変更

しかし、エラーログは表示されず真っ白なままだった

いろいろと検索して調べまくりましたが、どこもこの対処でエラーが表示されるので、エラーメッセージ読んで対処しましょうと書かれている。

2.phpのエラーがでていないか調べる

wordpressのエラーログがでないということは、Wordpressに来る前にどこかでこけている可能性が高いと判断したので、phpのエラーログを読みにいってみました。ログは /var/log/hhmv/のあたりにありました。読んでみると、default serverが競合していて立ち上がらないというエラーがでています。

いやいやいや、え??あー・・・

原因の一つはなぜかApacheが動き始めていた

このWordpressサイトはnginxで動作させているんですが、なぜかそこにApacheも勝手に立ち上がらせていてnginxが競合されていると嘆いているエラーを吐いていました。うわー、邪魔だよApacheさん。キミ何勝手に動いているの!?(プログラムは設定したとおりに動きます)

WordPressの更新でまれにApacheが動き始めてしまうらしい

同様の被害者が探し回ったら一人だけいました。どんだけマレなんだ!?落ち着いて、httpd.confとssl.confの名前を変更して無効化。(httpd.conf.bak,ssl.conf.bakに変更)このあとnginxを再起動したら無事にエラーログが表示されました。

3.Wordpressのエラーログを確認する

エラーログを確認したところ、原因は2つあったようです。

1.phpプログラムの一つが動作不良を起こしていることが判明

最新のWordpress5.3のプログラムだとダメな状態だったようです。phpのバージョンが古いのでそのせいかもしれませんね。5.2の10月くらいのプログラムに差し替えてみたところ動作しました。同じ5.3系じゃないとダメじゃないのかな?と思っていたんですが、そういうつくりにはなってないみたいですね。

2.更新作業が途中で止まっていた

プラグインの更新が途中で止まってしまっていたようです。admin画面のURLを直接叩いたら管理画面が表示されたので、そこでプラグインの更新を行ったところエラーが全部きれーに消えました。

4.エラーログ表示を停止する

1.の手順のところで実施したエラー表示の設定を元に戻しました。これで無事にエラーが表示されなくなって終了です。実際には何かまだエラーが出続けていたんですが、ブログ表示もできているし追加も編集もできることが確認できたのでもう見ないことにしました。

久しぶりの障害対応を経験してみての感想

いやー、バックアップってすごい大事ですね。とっても大事。途中何度も、「バックアップとっておけば戻してすぐ終わりだったのに!!」と思いました。サーバーまるっとのバックアップだとIDCFクラウドで月額450円ほどかかるんですよね。450円とかかった工数を天秤にかけたらとるべきだなーと思いました。

もしこの記事にたどりついて、細かいところを知りたい方がいらっしゃいましたらコメントください。調べた範囲のノウハウであれば提供させていただきます!!

-ソフトウェア
-,

執筆者:


comment

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

Teamspeak3.1.6リリース

Teamspeak3.1.6リリース つい最近3.1.5がでたと思うのだけど、3.1.6がリリース http://forum.teamspeak.com/threads/132699-TeamSpea …

kusanagiをhttpsに変更

httpsアクセスにできるように切り替えてみた。 サーバ証明書取得の為にCSR生成や設置等の苦労をした記憶があるので苦手意識があったが・・・5分で終わった。 手順: 1.SSHでサーバにログイン 2. …

no image

Windows Updateを延期する方法(Windows10 May 2020Update対策)

Windows 10 May 2020 Updateはいまのところ危険 Windows Updateをするとシステムが一時的に使えなくなることがある。マイクロソフトも万能ではなく、環境ごとのちょっとし …

Windows Updateがディスク容量不足で失敗するときの対処方法

Windows Update がディスク容量不足で失敗する 2019年8月に配信されてきたWindows Updateの量が多かったようで、「10GB以上が必要です」とのメッセージがでていました。PC …

TeamspeakServer 3.0.13.8リリース

TeamspeakServer 3.0.13.8リリース TeamspeakServer3.0.13.8がリリースされた。 === Server Release 3.0.13.8 19 july 20 …