FreeBSD13.5: 突然 WordPress 管理画面にアクセスできなくなった

ここ数日、自分のサーバーのWordPressコンテンツにアクセスできなくなり、困っていました。

きっかけは、FreeBSDのパッケージメンテナンスとWordPressプラグインをいじったこと。
翌日から、外から一般ユーザーとして自分のサーバーへアクセスする分には問題ないけど、自宅からダッシュボードなど、ログインが必要なページをメンテナンスしようとすると、「service unavailable Error 503」となってしまい、困っていました。サイトが停止しているわけじゃないので、片付けなければいけない用事に時間を取られて、深夜ようやくWordPressのトラブルシュートをしようとしたら、ダッシュボードどころかCMS全体にアクセスできない状況になっていることに気が付きました。

数時間前までは、「Service Unavailable」 だったのに、今は「Read Error」。Read Errorって何だ?

最初は「WP_DEBUG」を true にして調査しようと思っていたのに、そこまでたどり着く前に動かなくなってしまった。静的ページは問題なく動いている。
ということは、WordPress の問題か、PHPかMySQLに原因があるのかも。

デバッグが使えないので、ひょっとするとOS側のログに何か残っていないかと確認してみると、、、
大量に以下のメッセージが記録されていました。

+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (4 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (3 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (15 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (4 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (10 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (11 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (4 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (2 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (3 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (7 occurrences)
+sonewconn: pcb 0xfffff801371a57c0 (0.0.0.0:80 (proto 6)): Listen queue overflow: 203 already in queue awaiting acceptance (3 occurrences)

これ何?

よくわからないけど、嫌なメッセージ。Listen queue overflow なので、LANかHDD関係のキューに問題があるっぽい。ハードウェアの故障とは思いたくない、特にHDDの故障だと最悪、のだけど、とりあえず Apacheを再起動してみることに。本当ならOSを再起動したいところですが、立ち上がらなかったら大ごとなので、バックアップできるまでは我慢することにします。

幸いなことに、Apacheの再起動で、システム管理メモの方は復活。しかし、Diabloサイトの方はまだ少しおかしい。

いろいろ切り分けを行ってみたところ、パッケージメンテナンスの方じゃなく、新たにインストールしたプラグイン Presto Player が犯人である事がわかりました。システム管理メモの方にいきなりインストールすると、悪影響があった場合被害が大きいので、重要度が低いDiabloサイトの方で試してよかったわ。

防犯カメラが捉えた深夜 野生動物 が活動する様子の動画をサイトに楽に登録したかったので、動画公開プラグインを探して、Presto Player をインストールしてみたのですが、これが良くなかったみたい。

Presto Player をインストールするだけで、障害が発生するのか、プラグインを有効にした後、おかしくなるのかの切り分けがイマイチ出来ていません。恐らく有効にした後、Service Unavailable になるのでしょうが、途中にキャッシュが入るので、プラグインを無効化した後もしばらく症状が消えず、困ったことになるようです。キャッシュのオフも管理画面から行うので、正確な切り分けなんてやってられない!
端末から、wp-content/plugins の prest-player を一旦リネームした後、プラグインページに移動し、再び prest-player を有効に。これは、リネームしたまま管理画面から削除して変な残骸を残さないため。

Presto Player が消えた後、サイトが復旧しました。

今回、WordPressが動かなくなったのは、新しくチャレンジしようとしたプラグインが原因で、調査途中にOS側にも影響が出て二重の障害となったようです。

解決できてよかったわ。

コメントを残す