【WEB制作者さんのためのレンタルサーバ選び】現役エンジニアがレンサバの基礎知識やトラブル対処法をお教えします

レンサバ救急隊

トラブルシューティング

500 Internal Server Errorの原因調査と解決法

更新日:

500 Internal Server Errorは、サーバー内部でなんらかのエラーが発生しているときに出るメッセージです。

たまたま閲覧しているサイトで500エラーが発生した場合、あなたにできることはほとんどありません。何度かリロードしてみて治らなければあきらめましょう。

500 Internal Server Error

500 Internal Server Error

もし、あなたが管理しているサイトで発生した場合は、エラー原因を調べて対処する必要があります。このエラーが出る可能性がある原因をざっと並べておきます。

  • htaccess の記載ミス
  • プログラムの文法ミス
  • サーバー負荷
500 Internal Server Errorの原因

500 Internal Server Errorの原因

.htaccessの記載ミス

.htaccessの記載ミスがあると500エラーは発生します。

.htaccessはドキュメントルート直下におかれることが多いファイルです。リダイレクトやベーシック認証、アクセス制御などを記載することができます。

原因調査

.htaccessが置かれたディレクトリ配下へアクセスすると、必ず.htaccessの処理が実行されます。

そのため、存在しないファイルへアクセスした場合、本来であれば404 NotFoundがでるはずですが、.htaccessが原因の場合は500エラーが発生します。

ブラウザから存在しないURLへアクセスして、404ではなく500エラーが出た場合は.htaccessを疑います

解決法

事前に取得しておいたバックアップへ差し戻します。差し戻し後は落ち着いて.htaccessの記載内容をチェックしましょう。

.htaccessを編集するときは、必ずバックアップを取得しておきましょう。バックアップを取得することで、記載ミスがあった場合に迅速に対応が可能です。

シェルログインできる場合は、下記コマンドでバックアップをすることが可能です。

コピーコマンド

cp -p .htaccess{,_`date +%Y%m%d`}

プログラムの文法ミス

.htaccessと似ていますが、プログラムの文法ミスがあった場合もエラーが発生します。

原因調査

直前にプログラム修正している場合は、修正ミスを疑いましょう。

特定のページのみで発生している事象かを確認しましょう。また、該当ページで使われているプログラムがいつ修正されたかを確認します。

解決法

.htaccessと同じく、修正前のバックアップファイルに差し戻しを行います。差し戻し後に落ち着いてプログラムの修正を行ってください。

サーバー負荷

プログラム的は正常に動作する状態になっていても、サーバー負荷によって実行時にエラーが発生する場合もあります。

原因調査

サイトにアクセスしてみて、該当ページ以外でも同様の事象が発生しているかを確認します。

サーバーへログインできる場合は、TOPコマンドやvmstatなどで、ロードアベレージやCPU使用率の状況をみるとよいでしょう。

解決法

サーバー負荷が治まるのをまちましょう。

apacheなどのWEBサーバーの再起動で治る場合もあるので再起動をするのもよいでしょう。

サーバーのスペックアップができる場合は、スペックアップも選択肢の一つになります。

-トラブルシューティング

Copyright© レンサバ救急隊 , 2018 All Rights Reserved.