さてさて、私は個人でもエックスサーバーでWordPressで構築したホームページを運用していますが、
この度、突然の500エラーが発生してしまいました。
↓↓↓画面はこちら。(見たくないとは思いますが・・・)
こういう場面に出くわすと(お客さんに指摘されると特に)血圧がグッと上昇↑↑↑しますよね!
まずはエラーログを確認しましょう!
深呼吸をし、さっそくサーバーパネルへログインしてエラーログをダウンロード。
「サーバーパネル」 > 「統計」 > 「ログファイル」 をクリック
「エラーログの一覧」 > 「ダウンロード」 をクリック
「対象ドメイン名.error_log」というファイルがダウンロードされますので、
これをテキストエディタなりで開いてみましょう。
ずらっと羅列されたエラーログの数々。
ひとまず、一番下までスクロールしてみましょう。
↓↓↓こいつやね( ´,_ゝ`)
Resource temporarily unavailable
こいつをやっつければ解決するはず!
以下、エックスサーバーからこのエラーの情報を引用。
【Resource temporarily unavailableの原因】 CGIやPHPの同時接続数が多くなり、アカウント単位のリソース制限となっているPHPへのアクセスにおいて「500 Internal Server Error」エラーが発生し、エラーログ上に「Resource temporarily unavailable」が表示される場合はこちらに該当します。
また、CGIへのアクセスにおいて断続的に「500 Internal Server Error」エラーが発生し、CGIが実行できるときとできないときがある場合もこちらに該当する可能性があります。
プログラムへのアクセス集中等により発生しますが、すでに稼働中のプロセスが終了し、リソースに余裕が生じるととともに自動的にエラーは解消されますので、しばらくお待ちのうえ、改めて状況をご確認ください。
あわせて、CRONで頻繁にコマンドを実行されている場合、実行頻度を調整するなどご検討ください。
PHP及びCGI実行によってサーバーに負荷がかかっているため、
一時的にアクセスできなくなっているという事。
要するに「リソースに空きができるまでしばらく待機してくれれば直るよ。」って事ですね。
いくら待てども復旧しない場合
・・・しかし、中には復旧しないケースもあります。
そこで、同一サーバーで運用している他ドメインのホームページもチェックしてみると、
500エラーが発生しているホームページもあれば、普通に動作しているホームページもありました。
今回の僕のケースがそれで、30分程待機しても復旧しなかったのですが、
中には問題なく作動している別ドメインのホームページもありました。
つまり、サーバー全体が停止している訳ではなかったという事。
エックスサーバー側の設定で解決
今回、エックスサーバー上の設定で即解決しました。
その方法とは以下です。
- サーバーパネルにログイン後、500エラーの出ているドメインに切り替え。
- PHP高速化設定(FastCGI化)をクリック
- FastCGIとAPCを有効化する。
以上です。
上記設定自体はものの数分で終わる事でしょう。
これで500エラーの出ていたホームページへアクセスしてみましょう!
・・・見事に復旧されていることでしょう( ´,_ゝ`)ヨカッタヨカッタ
エックスサーバーはイメージしていた共有サーバーとはちょっと違った
共有サーバーは、他の人が負荷のかかる処理を実行していると、
自分も影響を受けてしまいます。(逆も然り。)
サーバーをマンションと例えるとわかりやすいです。
あなたはマンションの一室をレンタルして生活しているとしましょう。
隣の住民が騒がしくしていたり、上の階でピョンピョン飛び跳ねられると、
うるさくて生活に支障が出ますよね。
また、他の部屋の誰かがマンションの入り口ドアを壊してしまったりすると大変です。
このように共有サーバーは自分以外のホームページ運用状況からも影響を受けます。
・・・が、エックスサーバーはこれが対策されています。
他人がサーバーに負荷のかかる処理をしたとしても、自分には影響が出ません。
その人自身のホームページやシステムが停止するだけです。
・・・ということは、エックスサーバーでの500エラーは完全に自分に原因があるということです。
まとめ
待てど暮らせど500エラーが直らないという人は、
一度PHP高速化をしてみたり、WordPressのキャッシュ系プラグインを使用して、
サーバーの負荷軽減を試みるといいでしょう。
今回のケースでは500エラーが原因でWordPressのダッシュボードにすらログインできなかったため、
サーバーパネルにてPHP高速化を行って解決しました。
▼動画も収録してみました。ご参考までにどうぞ。
[youtube id=’4sXgCVKldbk’ rel=0]
エックスサーバーは他の人からの影響を受けないというのは非常に良い点です。
今後もエックスサーバーを利用していきたいと思います。