それはある日のこと、ワードプレスの管理画面にアクセスすると「WordPress 5.3が利用可能です !今すぐ更新してください。」の文字が踊っているのに気が付きました。
マイナーアップデートでもないのに、とりあえず更新するかという適当な考えで更新したところ画面が真っ白に…
あぁ…やっちまいました。更新失敗です。それもエラーを吐くタイプではなくいきなり逝く奴です。終わったぁ、と気落ちしていてもいけないのでなんとか復旧させようと奔走した回顧録です。
環境
とりあえず私の環境を。
サーバ:Conoha VPS CentOS 7(kusanagi)
WP:旧バージョン 5.2.3
プラグイン:10個ほど
バックアップ:backwpup
php:バージョン5.6
症状
最初の症状は、ブログのいかなる階層にアクセスしても真っ白。ブラウザには何も表示されません。この状態のまま再起動を試したり、OSやkusanagiのアップデートをしているうちにERR_CONNECTION_REFUSEDの文字が輝くようになりました。
ブログ用に別サイトでキャプチャしたイメージ画像です。
一方でVPS自体には接続が可能で、Pingを通すこともできました。
整理をすると
Wordpress 5.3にアップデート→失敗
OS等のアップデート→接続不能
という自体に陥ってしまったというわけです。
解決法
情報を探しに来てる方もいるかもしれないので先に結論から書きます。
WordPress 5.3にアップデート:原因不明未解決→5.2.3にダウングレードで対処
ERR_CONNECTION_REFUSED:何かが原因でnginxが停止→再起動
という流れでなんとか事なきを得ました。
以下、解決までに試したことなど。
奔走記
プラグイン無効化
アップデート失敗の原因として良くあるのがプラグインとの競合です。そこでプラグインを停止させます。しかし管理UIを開けないので、サーバー内のPluginsディレクトリを直接リネームして無効化しました。
残念ながら効果なし。
バージョンダウン
とりあえずの復旧策として、それまで使っていたver5.2.3に下げます。しかしこちらでも当然ブラウザの管理UIが使えないのでwp-cliをインストールしてダウングレードすることに。wp-cliをインストールしてVPSから
wp core download --locale=ja --path='hogehohe' --version=5.2.3 --force
を実行 。無事ダウングレードは成功するもERR_CONNECTION_REFUSEDを撃退できず。
しかし方針は旧バージョンを復旧することに変更しました。
firewalld停止
旧バージョンのワードプレスも失敗するということは原因はWordPress側ではなくVPS側にあるのではないか。firewalldがアクセスを弾いてしまったのではないか。予想を立ててfirewalldを停止してアクセスを試みますが失敗。
これが原因ではなさそうなのでセキュリティのためfirewalldを有効化し直し次の策を考えることに。
ログチェック
この段階になってやっとOS側のログをチェックしていないことに気が付きました。
/var/log/から色々とチェックしていると、monit.logの中に「‘nginx’ status failed (1) — disabled」の一文を発見。しかもWordPressアップデートを行った時間からこのエラーログを吐いています。ビンゴです。すぐにsystemtlコマンドでnginxを起動してあげると…ページが表示されたじゃないですか!!!
やったぜ
再度ver5.3を試みるも…
もう一度WordPressの更新を行います。プラグインをすべてオフにしたり、問題を起こしていたnginxを一度停止ししたりで準備完了。
wp-cliから最新版にアップデートだ!
はい、だめでした。結局真っ白になります。
これ以上、色々構う気力もなかったのでバージョンダウンさせて解決ってことにしました。
また時間のあるときにでも、真っ白になる原因を突き止めてver5.3にアップデートすることにします…
教訓
ログ読め
コメント