WordPressのサイトがいきなり表示されなくなった話
WordPressで運用しているサイトの一つがいつの間にか表示されなくなるという事態に陥りました。/p>
今回は原因の特定と対策までの流れを書いていきたいと思います。
Contents
サイトが表示されなくなるまでの経緯
私は毎日自分で運用しているサイトにアクセスしているのですが、2017年3月6日の昼過ぎに、とあるサイトにスマホでアクセスしたところ画面が真っ白で正常に表示されない状態になっていました。
ページのロード中かと思い、更新を繰り返すも何も表示されないという。。
また、ごくまれに503エラーというページも表示され。。一瞬固まって、何が起きているのか理解するのに時間が掛かりました。
時が止まるという表現を聞きますが、まさに自分の中で時が止まりました。
WordPressを更新したり、プラグインをインストールした直後に表示されなくなるのであればまだわかりますが、私の場合は本当にいきなりサイトが表示されなくなってしまったのです。
固まっていても何も始まらないので自分を奮い立たせて原因究明に取り掛かりました。
スマホの別ブラウザでアクセスしたりパソコンでアクセスしたりといろいろテストしていてわかったことが、午前中に当該サイトにアクセスしていたパソコンからは、スマホで正常表示できなくなった時も閲覧が可能だったのです。
また、このアクセスできるパソコンでも別のブラウザからはアクセスできないという状態でした。
つまり午前中に当該サイトにアクセスしていたブラウザかどうかで挙動が変わるという状態でした。
サイトが表示されなくなった原因は「W3 Total Cache」だった
結論ですが、W3 Total CacheというWordpressのプラグインが原因で、サイトが表示されなくなっていました。
このW3 Total Cacheはサイト高速化のためのプラグインで、ページやデータベースのデータをキャッシュすることでサイト表示の高速化を図っているようです。
何か変更をした際にキャッシュが残っていて変更が反映されないことはあるあるですが、何も変更を加えていないのにサイトが表示されないという最悪の事態を引き起こすとは思ってもいませんでした。
上述したように「午前中に当該サイトにアクセスしたブラウザかどうか」で挙動が変わる点も、キャッシュが原因であれば納得できました。
復旧方法は単純でW3 Total Cacheを停止するだけです。
本当は細かいキャッシュの設定を一つずつ有効、無効に切り替えるべきですが、サイト全体に関わる障害だったため復旧を最優先に考えました。
Webサーバのエラーログから「W3 Total Cache」が原因だと特定した
続いてW3 Total Cacheが原因と特定するまでの過程を書いていきます。
私の場合、プラグインのインストール等何か操作したわけでもなく、いきなりサイトが表示されなくなったのでまずWebサーバのエラーログを確認しました。
というか何か不具合が発生した時はまずはWebサーバのエラーログを確認するのが重要だと考えています。
早速サーバからログを取得し確認したところ、下記のログが吐き出されていました。
mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 262144 bytes) in /#########/wp-content/plugins/w3-total-cache/ObjectCache_WpObjectCache_Regular.php on line 676 mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0 mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0
エンジニアならこのログを見ればすぐにわかりますよね。
ちなみに「W3 Total Cacheでメモリの確保ができなかった」と出力されています。
ということでプラグインを停止して、無事にアクセスできることが確認できました。
最後に
いきなりサイトが表示されなくなるという現象は今回初めて体験しました。
そして、かなり焦りました。
こういった障害に陥っても落ち着いてなるはやで復旧できるように、日頃から意識や準備をしておくことが重要だなと感じました。
ディスカッション
コメント一覧
まだ、コメントがありません