WordPressで作ったサイトが真っ白になった場合に対応したこと

kusanagi

皆様こんにちは。うさ夫です。

現在無料で利用できるWordPressを使ったホームページはたくさん稼働しています。
ただ、運用中に思わぬトラブルに遭遇することは稀にあります。

わかりやすい例ですと、運用中のWordPressサイトが真っ白になってしまった!といったケースです。先日まで閲覧できていたのに、急にこのような状況になってしまうと大変困りますよね。

今回は、「私がWordPressのサイトが真っ白になった時の対応方法」を備忘録として記載していきます。

前提条件として、私のウェブサイトはVPS上で稼働しています。SSHなどコンソールを使ってのコマンド操作が可能です。

突然真っ白になったウェブサイト

今回、見出しにもあるとおり、突然私が運営するWebサイトが真っ白になったのです。

Safariから閲覧を行うとはWebサイトは真っ白、Chromeからの閲覧ですと500エラーとなっていました。

この現象はホワイトスクリーンオブデス(WSOD)と言われているようです。さてどうしたものか・・・

エラーログを表示するように設定する

このWSODという現象が起こった場合に考えるべき障害対応方法は何個かあります。

・PHPのエラー起因によるもの
・PHPのメモリ不足によるもの
・htaccessが壊れているもの
・その他CDN等のリンク先が機能していないもの

まずは、その手がかりを探るためにエラーログを見ることにします。

そのためには、wp-config.phpに以下を追加してエラーメッセージを表示することにします。

define( 'WP_DEBUG', true );

この内容をwp-config.phpに記述すると、問題が発生しているウェブサイトにアクセスした際にエラーログを出力してくれるようになります。

記入の仕方は、FTPでwp-config.phpをダウンロードし、テキストエディタで書き換えるか、コンソールでサーバーへログインし、直接viなどで追記するか、お好みの方法を取ってください。

なお、エラーログをファイルに出力するようにもできますが、今回はブラウザに表示させることとします。
問題のウェブサイトへアクセスすると、以下のエラーが出力されました。

Fatal error: Uncaught mysqli_sql_exception: Connection refused in /home/kusanagi/〜・・・

さて、いったいこれは何の意味なんでしょうか??

エラーログの分析

このエラー内容は、データベースへの接続に問題があるという内容のエラーとなります。

WordPressは「PHPというプログラム」+「データベース」という構成で稼働していますので、その片側のデータベースへの接続ができませんという状態です。

ですので、何も表示ができずエラーとなるのは当然です。

サーバー再起動

なぜこうなったのかの原因は状況によりさまざまですが、今回はWordPressのアップデートを行った後に発生しました。

ですので、今回はまずサーバーの再起動を実施してみようと考え、実行を行うことに。
(本当はmysqldの状態を確認してからやるべきだったのですが、飛ばしてました。。)

$ sudo shutdown -r

上記コマンドを使って、とりあえずサーバーを再起動して様子を見てみようと実施しました。

すると・・・問題なくWebサイトが表示されました!

この作業で今回の障害は復旧しました。

$ systemctl status mysqld

で先ほど確認漏れをしていたmysqldの状況を上記コマンドで確認すると・・・

active(running) ちゃんとデータベースは稼働しています!

最後に

今回取り上げたWSODについて、WordPressを運用している環境では稀に見舞われる障害です。

トラブルが発生した場合は、まず落ち着いて対応することを心がけ、一つずつ原因となるものを特定していき、一つずつ対応することが大切です。

YouTubeチャンネルうさ夫チャンネルでは、今回の内容のほか、様々なネットのわかりにくいを少しわかった気になるyoutube動画も掲載していきます。
キャンプチャンネルの、うさ夫チャンネル/キャンプも公開しておりますので、
よろしければチャンネル登録いただけるとコンテンツ制作の励みになります。
本日も最後までご覧いただき、ありがとうございました!

コメント

Amazon プライム対象
タイトルとURLをコピーしました