エックスサーバーを利用しているのですが、さきほど「500 Internal Server Error」エラーが発生しました。
ドメイン単位での発生ではなく、アカウント全体です。エックスサーバーは優秀ですので、500 Internal Server Error が起こる際は共用サーバーであっても自分一人が原因です。
さて、その原因と解決法をこの場へアクセスできるうちに残しておきます。
500 Internal Server Error の影響が出た範囲
500 Internal Server Error が表示されていたのはPHPプログラムだけです。サイトの表示は問題なくできていました。エラーが出てアクセスできなかったのはPHPファイルのみ。CGIも何かしらの影響がありそうです。
500 Internal Server Error が出た原因が考えられるのはこれ一つ
恐らくサーバーに負荷がかかったのが500 Internal Server Error が表示された理由なのですが、その原因で考えられることが一つだけあります。
それは、500 Internal Server Error が表示される直前にPING送信のプラグインが短時間で一気に稼働しはじめたこと。
PING送信ができなかったので、いろいろと触っていたわけです。そして解決したと同時にものすごい勢いでPING送信が始まりました。何年前の記事?というものも送信されていました。きっといろいろと溜まっていたのだと思います。
その数分後、大量のメールが受信箱へ。
内容は、自社サイトの「リンクエラーを検出しました」と「モデレートしてください」のオンパレード。PING送信の稼働によって検出されたのかどうかわかりませんが、これらが一気に受信箱へ届いていました。
そして、リンクの修正をしようと思ったところ。
もう完全にお手上げです。
いきなりアクセスが爆発するようなサイトを運営していないので、考えられることはPING送信のみでした。そのため、すぐにPING送信を制限しました。
しかし、全く回復する気配を感じられません。
一旦、500 Internal Server Error からの脱出
WordPress ping Optimizer の設定にある、「Limit excessive pinging in short time(指定時間内で送信できるPingの最大数)」にチェックを入れました。
また、「Ping at most 1time(s) within15minute(s)」これは「15分に1回しかPingを送れませんよ」という初期数値設定ですが、これを30分に1回にしました。
これで大丈夫か?
と、思いながら待っていても、500 Internal Server Error から状況が変わりません。
「よし!プラグインの停止!!」と決意して、WordPress ping Optimizer プラグインを停止しました。すると数分後には500 Internal Server Error が解消されたのです。
恐る恐る、再度有効化させてみる
このまま、無効化したままではダメだ。いつかやらないといけないということはわかっていたので、WordPress ping Optimizer の間隔を60分に1回にしてみました。
そして、恐る恐る有効化・・・。
ダメだーーーーー
まったくダメ。間隔の設定が反映されていないのか、再び短時間でPING送信を再開しました。で、見るのも嫌だったんですが、PHPやCGIを使っているサイトを開いてみると、、、
もうイヤになる。
やっぱりこのPING送信が原因だったのです。
どうするべきか考えてみた結果
500 Internal Server Error が出ている原因はわかりました。そしてこれからどうしていくか、という話です。
エックスサーバーでは、共用サーバーながらも自分一人の負荷であれば、他の人に影響はないということが調べてわかりました。つまり、500 Internal Server Error は私の管理サイトにしか出ないので、ほかの人に迷惑がかかることはないということです。
PING送信を今後一切止めるのはどうなのか?という考えも少しありましたが、今回PING送信を再開してみた挙動を確認したいので、この案は却下です。
サイトは普通に表示されていて、エラーが出るのはPHP・CGIを使っているものだけ。一番懸念しているのは、URL転送の管理をしているサイトです。当サイトでもチラホラありますが、メルマガ配信ではURL変換をしているので、それらすべてのリンクが500 Internal Server Error で表示されなくなります。
つまり、売上ゼロ。
今日は幸い日曜日ということもあって、平日に比べてビジネスマンがメールを見る機会が少ない日です。すべてのPING送信が終わったら500 Internal Server Error が解消されるはず、と考えているので、購読率の高い平日に持ち込むのはリスクがあります。
そうなると、今日、今からPING送信を済ませて月曜日までにはエラーを解消させるのが最善だと判断しました。
PING送信の一斉送信は注意が必要
一つ勉強になりました。
今回の500 Internal Server Error 表示は、当サイトで数年間PING送信されていなくて溜まっていた記事たちが一気に送信されたのが原因です。
もし、同様にPING送信エラーからの再開を試みている人は、500 Internal Server Error となっても影響の少ない時間帯にやってみてください。